2012-09-24 60 views
0

不知道我在做什麼錯在這裏。但我試圖創建一個包含多個模型的表單。我已經閱讀了它,它看起來很簡單,但我無法獲取子模型的字段在窗體上呈現。據我瞭解的解決方案,我必須把下列型號問題fields_for方法在多模式表格中的軌道

class Message < ActiveRecord::Base 
    #parent model 
    attr_accessible :duns, :ord 
    has_many :po_recommits 
    accepts_nested_attributes_for :po_recommits 
end 

class PoRecommit < ActiveRecord::Base 
    #child model 
    attr_accessible :comment, :detail_reason_code, :pid, :po, :qty, 
    belongs_to :message, :dependent => :destroy 
end 

,並把下列父控制器創建佔位

def new 
    @message = Message.new 
    5.times { @message.po_recommits.build } 
end 

終於fields_for助手添加到視圖

<%= form_for @message do |f| %> 
    <%= f.label :org %><%= f.text_field :org %> 

    <% f.fields_for :po_recommits do |builder| %> 
    <%= builder.label :po %><%= builder.text_field :po %> 
    <% end %> 

<%= f.submit %> 

<% end %> 

此代碼不拋出任何錯誤,但不渲染表單上:po領域。我認爲這是因爲該塊正在執行0次。

我錯過了什麼?

回答

1

我認爲 <%f.fields_for:po_recommits do | builder | %> 應該是 <%= f.fields_for:po_recommits do | builder | %>

+0

非常感謝....我知道它必須是愚蠢的東西。 – Pynner