I have a model called Family, which belongs_to User I want to enable the user to add multiple family members in a single form, which is in
You need to tweak your code like this.Assuming you have the attribute name
in users table.
In your User model
class User < ActiveRecord::Base
has_many :families, :dependent => :destroy
accepts_nested_attributes_for :families, :allow_destroy => true
end
In your users_controller
def new
@user = User.new
@family = 3.times { @user.families.build } #here
end
Your strong parametrs should look like this
def user_params
params.require(:user).permit(:name, families_attributes: [:name,:email])
end
#users/new.html.erb
<%= form_for(@user) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for :familes do |builder| %>
<%= render 'family_fields', :f => builder %>
<% end %>
<%= f.submit %>
<% end %>
#users/_family_fields.html.erb
<%= f.label :name, "Name" %>
<%= f.text_field :name %>
<%= f.label :email, "Email" %>
<%= f.text_field :email %>