0

Ruby on Rails 4.0.0에서 I18n 사용하기 현재 local => "de"인데도 영어에 대한 데이터베이스 항목이 필요합니다. 이 코드는 들어특정 언어로 데이터베이스 항목을 얻는 방법

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

입니다 : 행동은 내가 링크의 이름 (영어 태그 이름, 내가 현재 해요 어떤 언어에 상관없이, 여전히 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 
+0

당신이 영어 다음'이 있어야 싶은 경우 : 로케일 => : en' 대신'의 : 로케일 => : 죄송합니다 – chumakoff

+0

, 그것은해야 de' : 로케일 => en ... 위의 수정 ...하지만이 구문은 작동하지 않습니다. 이 작업을 수행하는 유사한 구문이 있습니까? 감사합니다 – user929062

+1

'link = tag.name, : controller => 'images', : action => Globalize.with_locale (: en) {tag.name}' – chumakoff

답변

2

Globalize 보석을 사용하고있는 것으로 보입니다. 특정 코드에 대해 독립적 인 로케일을 설정하는 데 사용할 수있는 with_locale() 메소드가 있습니다.

= link_to tag.name, controller: "images", action: Globalize.with_locale(:en) { tag.name } 

레일 I18n은 동일한 방법을 사용합니다. 이것은 너무 일 것입니다 :

= link_to tag.name, controller: "images", action: I18n.with_locale(:en) { tag.name }