Search code examples
ruby-on-rails-3viewfields-for

fields_for in rails view


When I attempt to use fields_for in the view code below, the company_name is not showing up in the view. What am I doing wrong?

= form_for @company do |f|
  -if @company.errors.any?
    #error_explanation
      %h2= "#{pluralize(@company.errors.count, "error")} prohibited this company from being saved:"
      %ul
        - @company.errors.full_messages.each do |msg|
          %li= msg
  =f.fields_for :showing do |t|
    .field
      = t.label :company_name
      = t.text_field :company_name
  .field
    = f.label :geography
    = f.text_area :geography

Solution

  • Are you not building a showing object in your controller?

    @company.build_showing
    

    If you've defined accepts_nested_attributes_for on your Company model, then you'll need to set up the nested objects in the controller as well as the parent objects.