2013-12-20 1 views
0

«Пользователь» has_many «продукты» через «favorite_foods».Rails: создать форму, которая добавляет несколько строк в db.

Как я могу создать форму, которая создает несколько новых строк в «favorite_foods»?

Я представляю форму с флажками для каждой еды, но это отличается от обычных форм Rails, поскольку я вставляю несколько строк в таблицу вместо одной строки (например, при сохранении нового пользователя).

users 
email:string first_name:string last_name:string 

foods 
name:string 

favorite_foods 
user:references food:references 

ответ

0

Формы не создают строки, контроллеры делают, посредством вызовов моделей. Если продуктов достаточно, чтобы вы могли установить флажок для каждого из них, то ваш контроллер может просто пройти через params и создать запись favorite_food для каждого зарегистрированного.

Если у вас есть более широкий выбор продуктов питания, которые можно разумно представлять с помощью флажка, то вы можете передать массив вариантов через форму, как описано в http://guides.rubyonrails.org/form_helpers.html#basic-structures

Смежные вопросы