0

我想在 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>

谁能告诉我该怎么做?

4

2 回答 2

1

使用块形式并“手动”翻译属性名称:

<%= f.label :address do %>
  <%= f.object.class.human_attribute_name :address %>
  <span class="optional">optional</span>
<% end %>

笔记

于 2013-01-26T20:02:08.980 回答
0

'label' 助手中的第二个参数将是标签的文本。如果你这样做:

<%= 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 添加一些内容到标签。

于 2013-01-26T20:01:58.970 回答