ruby-on-rails - 设计注册控制器/页面行为
问题描述
- 有没有办法避免 :require_no_authentication 回调被调用?
- 添加before_action :authenticate_user!在控制器中什么都不做。我猜是因为设计源代码中的:require_no_authentication被添加到回调链中。
- 登录后,我们可以改变行为并实际访问注册页面吗?
提前致谢!
解决方案
这很容易做到。您可以创建自己的控制器来覆盖行为:
在app/controllers/users/registrations_controller.rb
:
class Users::RegistrationsController < Devise::RegistrationsController
skip_before_action :require_no_authentication
end
在routes.rb
您需要指定设计以使用您的控制器:
devise_for :users, controllers: {
registrations: "users/registrations"
}
我对您的设计设置做了一些假设,但这应该会给您一个大致的想法。
推荐阅读
- sql - 将逗号分隔的两个字符串值转换为表格
- javascript - 如何使用 javascript 或 CSS 更改 HTML AOS 延迟值
- arrays - Angular订阅将多个对象推送到数组
- python - 使用 scrapy 调用 Uber API
- javascript - Jest 模拟包方法
- reactjs - 我可以以这种方式使用 React HOC 没有未来的陷阱
- sql - 在一个查询中运行大量 UNION ALL 是否安全?
- javascript - 在对象数组上跳过地图
- google-apps-script - Google表格:如果某个单元格为空,则隐藏行
- django - Django,为 ModelChoiceField 编写干净方法的指南