У меня есть модель пользователя и модель Todo. Я хочу иметь возможность добавлять несколько todos, используя одну форму.Rails - Добавить несколько записей в одной форме
Маршруты: модель
# Users
resources(:users) do
resources(:todos)
end
Пользователь:
class User < ApplicationRecord
has_many :todos
....
Тодос Контроллер:
class TodosController < ApplicationController
def new
@user = User.find(params[:id])
@todos = Array.new(10) {@user.todos.build}
end
....
Вид несделанного/новых:
<%= form_for([@user, :todos]) do |f| %>
<% @todos.each do |todo| %>
<%= f.text_field(:name, class: "form-control") %>
<% end %>
<%= f.submit "Save", class: "btn btn-primary" %>
<% end %>
Что я получаю:
undefined method `model_name' for :todos:Symbol
Что я делаю неправильно? Я искал SO для выполнения нескольких сейвов с использованием одной формы, и я нашел this.