2014-09-23 75 views
0

我使用fields_for像這樣(僞碼)Rails的空模型數據fields_for

fields_for(@model) do |f| 
    f.text_field :foo 
end 

的問題是,有時foo包含模型數據,有時它沒有,這將引發錯誤。

undefined method 'model_name' for NilClass:Class

有沒有解決這個辦法嗎?

回答

1
if @model 
    fields_for(@model) do |f| 
    f.text_field :foo 
    end 
end 

編輯:

或(然而,這應該在控制器內完成)

fields_for(@model || Model.new) do |f| 
    f.text_field :foo 
end 
+0

謝謝,但我還是希望字段被渲染,使他們可以添加一些數據,如果它不如果存在,或者改變它。 – 2014-09-23 15:19:50

+0

感謝您的回答。這將如何看待私人蔘數方法?例如:'params.require(:bar).permit(:foo)' – 2014-09-23 15:32:45

+0

它會是這樣的:'params.require(:parent_form).permit(model:foo) – BroiSatse 2014-09-23 15:52:56