Объединение нескольких моделей в форме Rails для создания нового объекта - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть две модели, история и категория. Используя форму для Story#new, я бы хотел сохранить внешний ключ для категории.

Чтобы отобразить данные выбора из категории на странице формы Story#new, которую я использовал:

<%= collection_select(:category , :category, Category.all , :id, :category, {:prompt => 'Select Category...'}) %>

Как сохранить category_id во вновь созданном объекте Story?


История имеет атрибуты: industry_id и user_id, Категория имеет атрибут name development.log сообщает мне следующее: (похоже, он пытается добавить новую категорию (99) в таблицу категорий

Started POST "/stories" for 127.0.0.1 at 2012-02-10 17:32:56 -0600
 Processing by StoriesController#create as HTML
story"=>{"industry_id"=>"8", "user_id"=>"8"}, "category"=>{"category"=>"99"}, "commit"=>"Create Story"}

1 Ответ

0 голосов
/ 11 февраля 2012

Я думаю, вам нужно изменить параметры на collection_select.Первый параметр - это название модели.Второй параметр - это имя атрибута модели, которому будет присвоено значение.Четвертый параметр - это метод объекта Category, который будет использоваться в качестве текстового значения опции выбора.

Я считаю, что это должно выглядеть следующим образом:посмотреть вложенные атрибуты ActiveRecord .

...