У меня есть простой has_many через отношения Установки:Почему Rails автоматически не создает записи таблицы соединений?
class Tag < ActiveRecord::Base
has_many :profile_tags
has_many :profiles, :through => :profile_tags
end
class ProfileTags < ActiveRecord::Base
belongs_to :profile
belongs_to :tag
end
class Profile < ActiveRecord::Base
has_many :profile_tags
has_many :tags, :through => :profile_tags
end
С моей точки зрения я принимаю набор тегов (только строки), и я итерация над ними в моем контроллере и вызов Tag.create (.. .) на каждом из них и подталкивая их в массив. Все это прекрасно работает.
Так что добраться до точки, где у меня есть массив объектов Tag (теги), которые каждый из возвращаемых вызова для создания и переменной @profile, которая была создана, делая Profile.new
Я хотел бы делать: @profile.tags = tags
Делая это вызывает эту ошибку на линии, где я пытаюсь задание:
uninitialized constant Profile::ProfileTag
Rails действует как мне нужно вручную создавать и назначать таблицы объединения ассоциации, хотя здесь http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association он утверждает, что когда вы выполняете такое задание, будут созданы новые ассоциации, и если некоторые из них исчезнут, они будут удалены.
Любые идеи, что я могу делать неправильно здесь?