在rails中的整个html代码块上的html_safe

时间:2014-05-27 12:39:52

标签: ruby-on-rails haml html-safe

如果可能的话,我似乎无法找到逃脱整个html块的方法。

以下是我要做的事情:

%table
  %tr
    %th{rowspan: "2"}= t("public.home.graphic_title_payment").html_safe
    %th.datefield{rowspan: "2"}= t("public.home.graphic_title_dates").html_safe
    %th{colspan: "3"}= t("public.home.graphic_title_pay_group").html_safe
    %th{rowspan: "2"}= t("public.home.graphic_title_unpaid").html_safe

我不喜欢在每个字符串的末尾咕噜.html_safe。有没有办法我可以提出某种指标,所有%tr都需要是html_safe ??

谢谢:)

1 个答案:

答案 0 :(得分:1)

默认情况下,Rails会转义ERB输出。因此,最好的办法可能是创建一个新的辅助方法来运行I18n转换并将其标记为安全。所以也许:

# app/helpers/application_helper.rb
def st(translation)
  t(translation).html_safe
end

然后:

%th{rowspan: "2"}= st("public.home.graphic_title_payment")