Данные модели
class Composition < ActiveRecord::Base
attr_accessible :content
has_many :compositions_tags
has_many :tags, :through => :compositions_tags
end
class Tag < ActiveRecord::Base
attr_accessible :text
has_many :compositions_tags
has_many :compositions, :through => :compositions_tags
validates_uniqueness_of :tag, only: [:create, :update], message: "already taken"
end
class CompositionsTag < ActiveRecord::Base
belongs_to :composition
belongs_to :tag
end
Сейчас, например, я делаю
Composition.create(content: "Hello").tags.create(text: "#hi")
Результатом будет созданная композиция с содержимым «Привет» и тег с текстом «#привет».
Затем я снова создаю Композицию.
Composition.create(content: "Goodmorning")
Теперь то, что я не знаю и хотел бы сделать, это связать это с существующим тегом с текстом «#hi».
Как мне сделать это самым элегантным способом?