简单forms:是否可以使用标签i18n删除标签并用占位符替换它们?

我正在尝试生成一个常规的简单表单

= simple_form_for [:hq, @team, @order] do |f| .tickets = f.select :tickets, :aaa => "aaa" = render "ticket" .details .left = f.input :address1 = f.input :address2 = f.input :state = f.input :country = f.input :email .right = f.input :comments 

但我希望输入不会使用标签呈现,只是占位符中的标题“地址行1”。

我知道我可以用f.input :address1, :placeholder => "whatever", :label => ""执行此f.input :address1, :placeholder => "whatever", :label => ""但是我希望它可以使用包装器进行配置并采用i18n值表单标签,而不是占位符。

尝试执行以下操作:

 f.input :address1, placeholder: "Address Line 1", label: false 

如果你想使用javascript,这里有一个jQuery片段来完成这项工作:

 $.each($(".left .input"), function() { var label = $("label",$(this)).text(); $("label",$(this)).hide(); $("input",$(this)).attr("placeholder",label); }); 

在这种情况下使用js的主要优点是结果仍然符合屏幕阅读器(他们将读取标签,因为它们不会运行js)。