I'm relatively new to Rails so please forgive me if this turns out to be quite a naive question. :]
I have two models that can be tagged: Collection
and Video
. I support this via a Tag
model with a polymorphic association, and a has_many :through
association to Tagging
. All this works perfectly.
What I'm having a hard time figuring out is how to set up the views to accommodate this. I know that if I were only creating or updating tags that are uniquely associated with a single model then I could use a simple form and add accepts_nested_attributes_for
to my model, but the problem I'm having is that I want to first check for the existence of a tag, and only create it if it doesn't exist, otherwise just associate the existing tag with the new video or collection. Obviously I could do this manually in the controller, but since Rails provides a mechanism for creating and updating associated objects automatically, I wondered if it provided anything similar for associating existing objects?
Also, I'm not sure whether I should nest the tags
resource and handle this centrally in a TagsController
, or whether I should manage the tags from the owning object's controller, for instance VideosController
.
Any help or advice will be greatly appreciated.