I think the model for your form should be @member, the last object in your controller def new
On Wednesday, April 29, 2015 at 5:15:28 PM UTC-4, [email protected] wrote: > > I have two models each with their own resources: Organizations and > Members. An organization has multiple members and a member is only a member > to one organization. > > How can I create a simple nested form that signs up a new organization as > well as one member for that organization? > > My current attempt is below. On submitting the form, this however > generates the error message > unknown attribute 'org_name' for Member > , which I don't get especially since org_name is a column within the > Organization model and not the Member model. > > *Organization model* > > has_many :members, dependent: :destroy > accepts_nested_attributes_for :members, :reject_if => :all_blank, > :allow_destroy => true > > > *Member model* > > belongs_to :organization > > > *Organizations controller* > > def new > @organization = Organization.new > @member = @organization.members.build > end > > def create > @organization = Organization.new(organizationnew_params) > @member = @organization.members.build(organizationnew_params) > if @organization.save && @member.save > @member.send_activation_email #Will Rails be able to get to this method? > The send_activation_email method exists in multiple models and Rails should > here use the version from the Member model. > flash[:success] = "Please check your email to activate your account." > redirect_to root_url > else > render 'new' > end > end > > def organizationnew_params > params.require(:organization).permit(:org_name, > :phone, > member_attributes: [:email, > :username, > :admin, > :password, > :password_confirmation > ]) > end > > > *Organizations new view* > > <%= form_for(@organization) do |f| %> > <%= f.text_field :org_name, %> > <%= f.text_field :phone %> > > <%= f.fields_for :member do |p| %> > <%= p.text_field :username %> > <%= p.email_field :email %> > <%= p.password_field :password %> > <%= p.password_field :password_confirmation %> > <%= hidden_field_tag :admin, true %> > <% end %> > > <%= f.submit "Sign up", class: "formbutton btn btn-default" %> > <% end %> > > What am I doing wrong? How can I create a simple nested form? > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7aea7e3f-dda7-42da-af52-d0f97d17f82e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

