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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails I18n:更好的内插链接方式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这样做是否有更清洁,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

猜你在找的Ruby相关文章