ruby-on-rails - 在我已经扩展 Devise:registrationsController 的类中添加来自 basecontroller 的过滤器之前
问题描述
我正在覆盖 Devise:RegistrationController 并且我需要在我的应用程序的 BaseController 中添加一个过滤器之前的身份验证功能,如何在过滤器之前添加它。我在扩展 Devise:RegistrationsController 并且无法扩展基本控制器时遇到了这个问题
解决方案
创建一个关注点,然后在两个控制器中包含该关注点:
## app/controllers/concerns/concern_with_the_method_i_want.rb
module ConcernWithTheMethodIWant
def method
return 'This is the method'
end
end
class BaseController < ApplicationController
include ConcernWIthTheMethodIWant
end
class RegistrationController < Devise::RegistrationController
include ConcernWithTheMethodIWant
end
这将使您可以:
BaseController.new.method
=> 'This is the method'
Devise:RegistrationController.new.method
=> 'This is the method'
推荐阅读
- parallel-processing - MPI_File 与 fscanf 的“文件”参数不兼容
- javascript - 无法加载 Javascript 库:ERR_NAME_NOT_RESOLVED
- powershell - Dockerfile 在 linux/mac 主机操作系统上构建,但不在 Windows 10 上
- php - 检查网站是否正在维护中
- python - ImportError:无法从“google.cloud”(未知位置)导入名称“pubsub_v1”
- r - 给定另一列的值,如何计算一列中某物的实例?
- java - 是否有以这种方式重新排列二维数组的公式?
- amazon - Amazon Transcribe 转换 .json 成绩单
- react-native - React Native not installing properly
- grafana - Aggregating Grafana to the Most Current Data