带有空模型数据的Rails fields_for



我使用fields_for,就像这样(伪代码)

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

问题是foo有时包含模型数据,有时不包含,这会引发错误。

undefined method 'model_name' for NilClass:Class

有办法解决这个问题吗?

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

最新更新