У меня есть модуль, который добавляет некоторые функции ActionController :: Base. Я включил его, и он работает для некоторых вещей. В частности, UsersController.been_extended
возвращает true. Если я переопределяю создание в UserController, то также работает form_params
. Проблема в том, что всякий раз, когда я пытаюсь создать нового пользователя, он говорит, что действие action не удалось найти для UserController.Расширение ActionController только частично работает в ruby on rails
module RailsExtender
module ActionControllerExtension
extend ActiveSupport::Concern
def create
@obj = do_create
# more stuff here
end
private
def form_params
fields = self.model.fieldset({ 'create' => 'new', 'update' => 'edit' }.fetch(params[:action], params[:action]))
params.require(self.model.to_s.to_sym).permit(*fields)
end
module ClassMethods
def been_extended # just for testing purposes
true
end
end
end
end
ActionController::Base.send(:include, ActionControllerExtension)
И это мой контроллер, который я пытаюсь создать.
module Auth
class UsersController < ApplicationController
@model = User
end
end
Почему он не думает, что создание существует?