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
4

2 回答 2

2

试试I18n.t帮手

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

或者,如果这不起作用,请使用完整路径:

flash[:error] = t('post.show.my_message')
于 2013-08-07T10:25:04.703 回答
1

在应用程序控制器 rails 4 中将您的语言环境发送到参数中,以便通过 params[:locale] 将其获取到控制器中

 before_action :set_locale  

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

然后

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

于 2013-08-07T10:27:13.137 回答