marimaf
marimaf

Reputation: 5410

Nested form with polymorphic association not displaying fields

I have a model with a has_one and polymorphic association like this:

class Disc < ActiveRecord::Base

  has_one :item, :as => :article, :dependent => :destroy
  accepts_nested_attributes_for :item
end

class Item < ActiveRecord::Base
      belongs_to :article, :polymorphic => true
end

I am trying to have a nested form, but only the fields for disc are being displayed and not the ones for item. This is my form:

<%= form_for(@disc) do |d| %>

<% d.fields_for :item do |f| %>
  <div class="field">
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :stock %><br />
    <%= f.number_field :stock, :min => 0 %>
  </div>

  <div class="field">
    <%= f.label :description %><br />
    <%= f.text_area :description %>
  </div>
<% end %>

  DISC:
  <div class="field">
    <%= d.label :num_discs %><br />
    <%= d.number_field :num_discs %>
  </div>
  <div class="field">
    <%= d.label :audio %><br />
    <%= d.text_field :audio %>
  </div>
  <div class="field">
    <%= d.label :subtitles %><br />
    <%= d.text_field :subtitles %>
  </div>    
  <div class="actions">
    <%= d.submit %>
  </div>
<% end %>

No errors are shown in the console.

Upvotes: 0

Views: 755

Answers (1)

Brian
Brian

Reputation: 285

Try adding an = before the first <% on the line <% d.fields_for :item do |f| %> . I haven't used erb in awhile though so this might not be the issue

Upvotes: 1

Related Questions