如何获取具有特定语言的数据库条目

时间:2017-01-11 19:20:03

标签: ruby-on-rails ruby-on-rails-4 internationalization rails-i18n globalize

使用I18n for Ruby on Rails 4.0.0我需要一个英文数据库条目,即使我目前在本地=> “德”。代码是

= link_to tag.name, :controller => "images", :action => t("#{tag.name}")

对于:action我需要英文标签名称,无论我当前使用哪种语言,但仍然是link_to后面的德语tag.name(用于链接名称)。如下所示:

= link_to tag.name, :controller => "images", :action => t("#{tag.name}", :locale => :en)

但这不起作用。

我的模型标签已经有两种语言,但是当我目前处于“de”语言环境时,它总是给我德语名称Tag作为动作,但是与当前语言环境无关,我总是需要英语条目。

class Tag < ActiveRecord::Base
  attr_accessible
    :name, :id, :content

  translates :name, :content
end

1 个答案:

答案 0 :(得分:2)

似乎您正在使用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 }