我试图做输入的默认值
工作正常:
<%= f.input_field :quantity, default: '1' %>
但我需要f.input而不是f.input_field
<%= f.input :quantity %>
怎么解决这个?有没有像f.input_field那样的选择 - :默认?还是有其他有价值的解决方案?
你可以尝试这样的事情:
<%= f.input :quantity, input_html: {value: '1'} %>
您可以使用simple_form的<%= f.input :quantity %>
选项:<%= f.input :quantity, input_html: {value: f.object.quantity || '1'} %>
试试这个:
selected
你可以做
<%= f.input :quantity, selected: f.object.quantity || '1' %>
如今,离开= f.input : quantity, input_html: { value: (f.object.quantity.present?) ? f.object.quantity : '1' }
钥匙。
这是一个老问题......但是,提供的答案似乎都不为我所接受。执行此操作的最佳方法是在控制器中设置值new action。
<%= f.input :quantity, value: f.object.quantity || '1' %>
这将在新操作中将对象数量键分配给值1。编辑操作应该依赖于对象的持久值,如果验证失败并重新加载表单,则应该依赖于params值。其他答案将在编辑时强制数量为1,即使用户最初保存为nil(如果您允许为nil)。不好。我不会允许nil,但会在数量字段中包含0选项。
input_html
更干净。