Ruby on Rails 3.1을 사용하고 있으며 메일러와 관련된 국제화를 올바르게 처리하는 방법을 알고 싶습니다. 위의 코드를 사용하여메일러에서 i18n gem 사용시 문제가 있습니다
class Users::Mailer < ActionMailer::Base
def custom(user)
...
@test_email = t('test_email')
# I also tried to use '@test_email = I18n.t('test_email')'
end
end
: 내가 가진 내 app/mailers/users/mailer.rb
파일에
...
<%= @test_email.to_s %>
...
을 ... : 그건 내 app/views/users/mailer/_custom.html.erb
파일에 I가 ...
...입니다 @test_email.to_s
보낸 이메일에 텍스트가 표시되지 않고 (비어있는 것 같습니다) I18n gem은 수행해야 할 작업을 올바르게 수행하지 못하는 것으로 보입니다. 어떻게 "목표"이메일 본문에 로케일 메시지를 제대로 표시 할 수 있도록 문제를 해결할 수 있습니까? 당신이 당신의 대답에 게시 코드는 나를 위해 작동하지 않습니다
@volodymyr에 대한
UPDATE. 내 config/locales/defaults/en.yml
파일에 다음 코드를 추가하는 것이 시도 :
en:
hello: Test text!!!
Test text!!!
여전히 전송 이메일 (이 비어)에 표시되지 않습니다. 테스트에 대한
# Fragment of mailer
def test_locale
@test_email = I18n.t('hello')
mail(:to => "<your_email_goes_here>", :subject => "test")
end
# Contents of test_locale.html.erb
String, retrieved from I18n: <%= @test_email %>
내가 레일 본체를 사용 : 여기
큰 따옴표로 묶습니다. 예 : ko : hello : "테스트 텍스트" –
@volodymyr - 문제는 따옴표와 관련이 없습니다 ... 자세한 내용은 아래 답변을 읽어보십시오. – user12882