我想在 Rails 3.2.3 中的 i18n 本地化标签中添加一个 span
元素。
这就是我得到的:
<%= f.label :address, "<span class="optional">optional</span>".html_safe %>
但是,在输出中,它产生:
<label for="person_address">
<span class="optional">optional</span>
</label>
我需要的是这个:
<label for="person_address">
Address <span class="optional">optional</span>
</label>
谁能告诉我怎么做?
使用块形式并"手动"翻译属性名称:
<%= f.label :address do %>
<%= f.object.class.human_attribute_name :address %>
<span class="optional">optional</span>
<% end %>
注意
"标签"帮助程序中的第二个参数是标签的文本。 如果您这样做:
<%= f.label :address, "Address <span class="optional">optional</span>".html_safe %>
我认为它会正确显示。
您还可以将 html 添加到 yml 文件并在 yml 项上显式使用 .html_safe 它也可以工作。
<%= f.label :address, t('path.to.label').html_safe %>
我也想尝试一些使用javascript和css的东西 - 对字段进行分类并通过jquery或css :after添加到标签中。