加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails I18n:更好的内插链接方式?

发布时间:2020-12-16 23:13:58 所属栏目:百科 来源:网络整理
导读:这样做是否有更清洁,content_tag-ish方式? (我不想在我的YML中使用 HTML) en.yml: expert_security_advice: "Go a href='{{url}}'here/a for expert security advice." layout.html.erb: %= t(:expert_security_advice,:url = "http://www.getsafeonline.
这样做是否有更清洁,content_tag-ish方式? (我不想在我的YML中使用 HTML)

en.yml:

expert_security_advice: "Go <a href='{{url}}'>here</a> for expert security advice."

layout.html.erb:

<%= t(:expert_security_advice,:url => "http://www.getsafeonline.org") %>

解决方法

我能想到的最好的:

en.yml:

expert_security_advice: "Go *[here] for expert security advice."

layout.html.erb:

<%= translate_with_link(:expert_security_advice,"http://www.getsafeonline.org") %>

application_helper.rb:

include ActionView::Helpers::TagHelper

def translate_with_link(key,*urls)
  urls.inject(I18n.t(key)) { |s,url|
    s.sub(/*[(.+?)]/,content_tag(:a,$1,:href => url))
  }
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读