【问题标题】:Devise - 'create' action of overridden SessionsController not being called设计 - 未调用覆盖的 SessionsController 的“创建”操作
【发布时间】:2013-09-06 01:07:12
【问题描述】:

我的 routes.rb 中有以下配置:

devise_for :users, controllers: {registrations: "registrations", sessions: "sessions"}

我正在尝试重写会话控制器的“创建”方法,但没有成功。它永远不会被调用。 调用同一控制器的“新”操作。

路线:

new_user_session GET    /users/sign_in(.:format) sessions#new
user_session POST   /users/sign_in(.:format) sessions#create

有什么想法吗?

【问题讨论】:

  • 发布您的登录表单和您的自定义会话控制器。
  • @farleyknight 我发现了问题,请参阅我的答案。感谢您的宝贵时间。

标签: ruby-on-rails ruby devise routes ruby-on-rails-4


【解决方案1】:

找到了。

我的 application_controller.rb 中有一个 before_filter,它错误地引发了 CanCan::AccessDenied 错误。 为什么这会导致从“原始”设计控制器执行方法???不知道...

我修复了过滤器中的错误,一切似乎都正常,我的覆盖操作已执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 2017-08-31
    • 2012-11-20
    • 2011-08-22
    相关资源
    最近更新 更多