2012-08-05 43 views
2

我正在使用繭寶石動態嵌套的形式。我有兩個型號沒有錯誤,沒有輸出的軌道繭寶石

class CrossTable < ActiveRecord::Base 
    attr_accessible :title, :table_name, :database, :folder_label_id, :foreign_fields_attributes 

    belongs_to :folder_label 
    has_many :foreign_fields 

    accepts_nested_attributes_for :foreign_fields 

    validates :title, :table_name, :database, :folder_label_id, presence: true 

end 


class ForeignField < ActiveRecord::Base 
    attr_accessible :cross_table_id, :column_name, :description 

    belongs_to :cross_table 
    has_many :filter_sets 


end 

我已經繭和jQuery的軌道中的Gemfile 我添加// =需要繭到的application.js文件

這裏是我的形式部分

<%= simple_form_for @table do |f| %> 
    <%= f.input :title %> 

    <%= f.input :folder_label_id, :collection => @folders, :label_method => :title, :value_method => :id %> 
    <br><br> 
    <%= f.input :table_name %> 
    <%= f.input :database %> 

    <%= f.simple_fields_for :foreign_fields do |fields| %> 
     <%= render 'foreign_field_fields', :f => fields %> 
     <div id='links'> 
      <%= link_to_add_association 'Add Field', f, :foreign_fields %> 
     </div> 
     <% end %> 

    <%= f.button :submit %> 

<% end %> 

@table是交叉表模型的一個實例。 foreign_field_fields部分中的任何內容都不顯示,link_to_add_association也不會執行任何操作,而且我也沒有任何錯誤。我怎樣才能開始調試呢?有沒有人發現錯誤?

回答

5

您在simple_fields_for內寫入了link_to_add_association,它將遍歷所有:foreign_fields並執行給定的塊。所以如果還沒有外地,link_to_add_association從不顯示。

如下你應該寫你的觀點(如記錄):

<%= simple_form_for @table do |f| %> 
    <%= f.input :title %> 

    <%= f.input :folder_label_id, :collection => @folders, :label_method => :title, :value_method => :id %> 
    <br><br> 
    <%= f.input :table_name %> 
    <%= f.input :database %> 

    <%= f.simple_fields_for :foreign_fields do |fields| %> 
     <%= render 'foreign_field_fields', :f => fields %> 
    <% end %> 
    <div id='links'> 
     <%= link_to_add_association 'Add Field', f, :foreign_fields %> 
    </div> 

    <%= f.button :submit %> 

<% end %> 

希望這有助於。