Ответ 1
Используйте I18n.t
вместо t
.
в моем проекте у меня есть контроллер в пространстве имен admin, и я использую breadcrumbs_on_rails для создания хлебных яблок. Мой контроллер выглядит так: модуль Admin
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
Любые идеи?
Используйте I18n.t
вместо t
.
Я могу предложить расширить ваш класс с помощью
extend ActionView::Helpers::TranslationHelper
Это позволит вам использовать помощники #t
и #l
.
Спасибо Skydan, но extend
будет работать только для модулей. Я сделал это, добавив include ActionView::Helpers::TranslationHelper
в мой контроллер.