在我的项目中,我在命名空间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
有什么想法吗?
答案 0 :(得分:43)
使用I18n.t
代替t
。
答案 1 :(得分:4)
我可以建议扩展你的课程
extend ActionView::Helpers::TranslationHelper
它允许您使用#t
和#l
助手。
答案 2 :(得分:0)
感谢Skydan,但extend
仅适用于模块。我通过将include ActionView::Helpers::TranslationHelper
添加到控制器来使其正常工作。