У меня есть базовый автоматически сгенерированный проект Rails4 с 2 таблиц, которые имеют взаимоотношения HABTM:Rails4: где и как установить отношения HABTM?
class Page < ActiveRecord::Base
has_and_belongs_to_many :topics
end
class Topic < ActiveRecord::Base
has_and_belongs_to_many :pages
end
Соответствующая таблица присоединиться также существует (так называемый pages_topics
) и, кажется, работает правильно.
Я понял, используя rails console
что я могу связать две таблицы с помощью create
и <<
для новых и существующих записей соответственно:
Page.find(1).topics.create(tname: "topic name") ## for new topics
Page.find(1).topics << Topic.find(3) ## for existing topics
Однако, я не знаю, как поставить их на работу в мой код.
- добавить их в мой класс контроллера (ов) в контроллера
create
иupdate
методов ли? - Если да, то как мне это сделать в сочетании с типичным шаблоном защиты параметров
params.require(...).permit(...)
?
Или есть лучший способ сделать это, что я еще не научился?
Извините, я должен был упомянуть, что у меня есть таблица соединений, и она работает правильно. Я обновлю свой первоначальный вопрос. Как только все таблицы настроены, хотя, где обычно помещается код для создания ассоциаций? В методах контроллера или в другом месте? –
Итак, вы хотите знать, как установить эти отношения? –
Я так думаю ... как я упоминал в своем посте, я думаю, что понимаю, как создавать ассоциации с помощью консоли, но я не уверен, где и как помещать эти ассоциации в сам код проекта. –