我有一个包含不同输入的表单,需要一个默认值。
例如
<%= f.label :salary, "Salary" %>
<%= f.text_field :salary, value: "Default salary" %>
想象一下,我填写工资, 80K 我保存了我的表格。 该节目运作良好,我可以看到 80K 如预期......
问题是当我在我的表单中编辑其他字段时......我有默认工资,我希望保持 80K
我该怎么办?
答案 0 :(得分:2)
您可以检查对象是否是新记录。如果是,则使用默认值填充,否则填充对象值。像这样:
<%= f.label :salary, "Salary" %>
<%= f.text_field :salary, value: (f.object.new_record? ?
"Default salary" : f.object.salary) %>
希望这会有所帮助,祝你好运
答案 1 :(得分:1)
如果存在,您只需填写实际值,否则使用默认值。
<%= f.label :salary, "Salary" %>
<%= f.text_field :salary, value: (f.object.salary || "Default salary") %>
答案 2 :(得分:1)
您可以在新操作中设置默认值,您可以在其中创建对象。
def new
@obj = SomeClass.new
@obj.salary = "Default salary"
...
end
另一个解决方案是您在该模式上的迁移文件中定义默认值,如下所示。
change_column :some_class, :salary, :number, default: "Default salary"