Как использовать "before_action" в модуле
Я хотел бы использовать 'before_action' в модуле.
К сожалению, я не мог заставить его работать.
Я был googleing, но все, что я нашел, не могло решить проблему.
Мой файл модуля выглядит следующим образом:
module ShowController
include SimpleController
#before_action :set_object, only: [:show]
def show
set_object
end
end
Я хочу использовать outcommented before_action, а не метод show.
Поэтому я пытался включить следующие модули:
include AbstractController::Callbacks
include ActiveSupport::Callbacks
include ActiveSupport::Concern
include ActiveSupport
Кроме того, я попытался "потребовать" active_support/all "или core_ext.
Я получаю сообщение error_message:
undefined method `class_attribute' for SimpleController::ShowController:Module
Наконец, ничего не получилось, и я не нашел решения.
Ответы
Ответ 1
Я думаю, это то, что вы пытаетесь сделать:
class SomeController < ActionController::Base
include SimpleController
end
module SimpleController
extend ActiveSupport::Concern
included do
before_action :set_object, only: [:show]
end
end