ruby-on-rails – 如何在Rails中使用控制器中的I18n

我有一个PetsController,其中设置了flash消息.像这样的东西:
class PetsController

  ...

  def treat_dog
    #do somthing
    flash[:success] = 'Your dog is being treated.'
  end

  ...

end

此控制器属于Admin,因此它位于:app / controllers / admin / pets_controller.rb.我将使用I18n,所以我用t(‘controllers.admin.pet.treated’)替换了控制器中的字符串,然后,我写了这个yml:

en:
  controllers:
    admin:
      pet:
        treated: "Your dog is being treated."

位于:config / locales / controllers / admin / pet / en.yml,它不起作用.我试图在config / locales / controllers / admin / pets / en.yml,config / locales / controllers / admin / en.yml中找到它.
配置/语言环境/控制器/ en.yml
并且没有一个工作,没有找到翻译.

如何使用此控制器的翻译?

解决方法

在控制器中你可以像这样使用它
I18n.t 'controllers.admin.pet.treated'

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...