I have a User model and Todo model. I want to be able to add multiple todos using a single form.
Routes:
# Users
resources(:users) do
resources(:todos)
end
User model:
class User < ApplicationRecord
has_many :todos
....
Todos controller:
class TodosController < ApplicationController
def new
@user = User.find(params[:id])
@todos = Array.new(10) {@user.todos.build}
end
....
View for todos/new:
<%= 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 %>
What I get is:
undefined method `model_name' for :todos:Symbol
What am I doing wrong? I searched SO for doing multiple saves using one form, and I found this.