【问题标题】:How to add a span element to an i18n localized label in Rails 3.2.3?如何在 Rails 3.2.3 中将 span 元素添加到 i18n 本地化标签?
【发布时间】:2013-01-26 18:58:26
【问题描述】:

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

谁能告诉我怎么做?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.2


    【解决方案1】:

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

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

    注意

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-23
        • 1970-01-01
        • 2015-09-24
        • 2013-09-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多