Admin :: FaqsController的未定义方法`t':Class

时间:2014-02-19 11:06:40

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 rails-i18n

在我的项目中,我在命名空间admin中有控制器,我正在使用breadcrumbs_on_rails来构建breadcrums。我的控制器看起来像: 模块管理员

class FaqsController < Admin::ApplicationController
    include FaqsHelper
    load_and_authorize_resource

   add_breadcrumb t('faqs.faqs_list') , :faqs_path #this line makes the problem
    def index
      @faqs = @faqs
      add_breadcrumb t('faqs.faqs_list')

    end

    def new
      add_breadcrumb t('faqs.new')
    end

 #other code ommitted
  end
end

我可以在新的,编辑和其他控制器动作中使用t方法,但是当这个't'不在控制器动作中时,我有以下错误:

undefined method `t' for Admin::FaqsController:Class

有什么想法吗?

3 个答案:

答案 0 :(得分:43)

使用I18n.t代替t

答案 1 :(得分:4)

我可以建议扩展你的课程 extend ActionView::Helpers::TranslationHelper 它允许您使用#t#l助手。

答案 2 :(得分:0)

感谢Skydan,但extend仅适用于模块。我通过将include ActionView::Helpers::TranslationHelper添加到控制器来使其正常工作。