현재 지구화 보석에 약간의 문제가 있습니다.세계화 :보기에 현재 로케일 정보를 표시하는 방법
나는 현재 상황을 설명한다 : 나는 질문이라는 모델을 가지고있다. EN : 나는
class CreateTranslationsTable < ActiveRecord::Migration
def up
Question.create_translation_table! :wording => :string, :answer1 => :string, :answer2 => :string, :answer3 => :string, :answer4 => :string
def end
def down
Question.drop_translation_table!
def end
내 기본 로케일이 번역 테이블을 생성하는 마이그레이션을 생성, 그리고
class Question < ActiveRecord::Base
translates :wording, :answer1, :answer2, :answer3, :answer4
end
: 모든 데이터를 저장하지 않고, 그것을 만든 후, 나는 모델에 다음 줄을 추가했다. 그 후 데이터를 추가했습니다.
rails c
을 실행하고 Question.first.wording
명령을 실행하면 정상적으로 작동합니다. '레일 c'를 실행할 때 I18n.locale = :es
을 입력하면 Question.first.wording
은 처음에 넣은 영어 텍스트를 계속 표시합니다.
나는 내가 번역 된 모든 컬럼을 삭제했다는 것을 한 가지 시도했다. (데이터 마이 그 레이션 후에 문서를 Globalize에 지정한 것과 같다. 제 경우에는 처음부터 마이 그 레이션 할 데이터가 없다) . 그 후 롤백 (Question 모델에서 삭제 한 열을 다시 얻음)을 수행 한 다음 을 사용하여 Question.first.wording
을 실행하면 작동합니다. 즉 Question.first.wording
은 nil
을 반환합니다.
그런 다음 Ruby on Rails 가이드 에 지정된대로 'Locale from Url Params'을 구현했습니다. 즉, ': locale'매개 변수의 첫 번째 URL 매개 변수를 의미합니다. 현재 문제 : 내가 입력 한 URL이 http://localhost.com/es/questions/이므로보기에는 스페인어로 표시해야하는 정보가 영어로 표시됩니다.
어떻게 스페인어 정보를보기에 표시 할 수 있습니까?