我使用的是一个简单的表单,其中包含一个默认值的文本字段。一旦用户设置了他们想要的值,默认值应该被用户期望的值覆盖。但每次用户打开表单进行编辑时,他们会一次又一次地看到默认值:
<%= f.input :notes, input_html: {:value => @order_f.decorate.template_message, rows: 12} %>
答案 0 :(得分:2)
尝试设置占位符,而不是设置值:
<%= f.input :notes_to_deliverer, placeholder: @order_f.decorate.deliverer_template_message, input_html: {rows: 12} %>
答案 1 :(得分:1)
如果您不需要占位符,那么您可以这样做:
<%= f.input :notes_to_deliverer, input_html: {:value => object.notes_to_deliverer.present? ? object.notes_to_deliverer : @order_f.decorate.deliverer_template_message, rows: 12} %>
此处的对象是您为其创建的form
。另外,请确保在表单提交时将此值保存在数据库中。如果假设你的默认值存储我的意思是如果用户没有输入任何值,那么你需要存储它然后最好在数据库端使用默认值。您可以在迁移文件中进行设置。
希望这有帮助。