在我的Rails 4应用程序中,我有很多这样的表单标签:
<%= f.label :name, "<span class=\"optional\">optional</span>".html_safe %>
如何使用表单构建器简化此操作,以便我可以简单地说:
<%= f.label_with_optional :name %>
感谢您的帮助。
答案 0 :(得分:2)
您可以在下面执行此操作
class LabellingFormBuilder < ActionView::Helpers::FormBuilder
def label_with_optional(attribute, options={})
label(attribute, "<span class=\"optional\">optional</span>".html_safe)
end
end
请参阅此处http://guides.rubyonrails.org/form_helpers.html#customizing-form-builders
答案 1 :(得分:1)
label的语法是:
label(method, text = nil, options = {}, &block)
所以你可以这样做:
<%= f.label :name do %>
<span class="optional">optional</span>
<% end %>
如果您想简化它,请使用simple_form,您可以执行以下操作:
<%= f.label :username %>
如果您在模型中将验证添加到用户名,simple_form将在字段附近添加*以根据需要对其进行标记。