2013-08-07 2 views
0

У меня есть сообщение под названием my_message в config/locales/post.en.yml следующим образом:Как вызывать быстрые сообщения, определенные в локалях

en: 
    post: 
    show: 
     my_message: "Post was successfully saved. And Boom!" 

Как я называю это: my_message для вспышки в способе представления контроллера?

class PostsController < ApplicationController 
    def show 
    flash[:error] = my_message 
    end 
end 
+1

Попробуйте 'т ('post.show.my_message')'. [Rails Guides при поиске переводов] (http://guides.rubyonrails.org/i18n.html#looking-up-translations). –

+0

Сделай это ответом, я удалю мой :) –

ответ

1

В прикладных рельсах контроллера 4 отправить локал в параметрах так, чтобы он получает его в contoller по параметрам [: locale]

before_action :set_locale 

def set_locale 
    I18n.locale = params[:locale] || I18n.default_locale 
end 

Тогда

flash[:error] = t('post.show.my_message')

2

Попробуйте I18n.t помощник

flash[:error] = t('.my_message') 

Или, если это не работает, используйте полный путь:

flash[:error] = t('post.show.my_message') 
Смежные вопросы