如何获取特定语言的数据库条目
How to get a database entry with a specific language
在 Rails 4.0.0 上为 Ruby 使用 I18n 我需要一个英语数据库条目,即使我目前在本地 => "de"。密码是
= link_to tag.name, :controller => "images", :action => t("#{tag.name}")
对于 :action 我需要英文标签名称,无论我目前使用哪种语言,但 link_to 后面的德语 tag.name(对于link)。所以像:
= link_to tag.name, :controller => "images", :action => t("#{tag.name}", :locale => :en)
但这不起作用。
我的模型 Tag 已经有两种语言,但是当我当前在 "de" 语言环境时,它总是给我 Tag 的德文名称作为操作,但与当前语言环境无关,我总是需要英语入口。
class Tag < ActiveRecord::Base
attr_accessible
:name, :id, :content
translates :name, :content
end
看来您使用的是Globalize
gem。它具有 with_locale()
方法,您可以使用该方法为特定代码段设置独立的语言环境。
= link_to tag.name, controller: "images", action: Globalize.with_locale(:en) { tag.name }
Rails I18n也有同样的方法。这也行得通:
= link_to tag.name, controller: "images", action: I18n.with_locale(:en) { tag.name }
在 Rails 4.0.0 上为 Ruby 使用 I18n 我需要一个英语数据库条目,即使我目前在本地 => "de"。密码是
= link_to tag.name, :controller => "images", :action => t("#{tag.name}")
对于 :action 我需要英文标签名称,无论我目前使用哪种语言,但 link_to 后面的德语 tag.name(对于link)。所以像:
= link_to tag.name, :controller => "images", :action => t("#{tag.name}", :locale => :en)
但这不起作用。
我的模型 Tag 已经有两种语言,但是当我当前在 "de" 语言环境时,它总是给我 Tag 的德文名称作为操作,但与当前语言环境无关,我总是需要英语入口。
class Tag < ActiveRecord::Base
attr_accessible
:name, :id, :content
translates :name, :content
end
看来您使用的是Globalize
gem。它具有 with_locale()
方法,您可以使用该方法为特定代码段设置独立的语言环境。
= link_to tag.name, controller: "images", action: Globalize.with_locale(:en) { tag.name }
Rails I18n也有同样的方法。这也行得通:
= link_to tag.name, controller: "images", action: I18n.with_locale(:en) { tag.name }