我正在使用collection_select字段,但是需要在默认情况下添加一些选项,它们不代表特定的模型记录,用于将appropriet字段设置为NULL。但我无法找到任何办法。
如果您需要更多信息,请不要随便询问。 将Rails 3.2.3与标准表单助手一起使用。
P.S。我知道我可以这样做:
@parents = ['default_name','nil']
@parents << Model.all.map {|item| [item.name,item.id]}
但我认为有一种更优雅的方式。
答案 0 :(得分:15)
有一个:include_blank选项,您可以传递给collection_select辅助方法:
f.collection_select(:author_id, Author.all, :id, :name_with_initial,
:include_blank => "Nothing selected")
还有一个类似的选项叫做:提示,也可以查看。
答案 1 :(得分:11)
您可以改为使用选择:
f.select(:item_id, @items.collect {|p| [ p.name, p.id ] } + ['Or create a new one like','new'], {:include_blank => 'Please select a item'})
答案 2 :(得分:1)
你认为这样的东西是可以接受的吗?
collection_select :field1, :field2, @models+[Model.new(name: "default_name")], :name, :id