Ruby on rails 我如何覆盖Desive控制器
我试图覆盖Desive控制器,但我的更改没有任何影响 例如,这是我的会话\u controller.rbRuby on rails 我如何覆盖Desive控制器,ruby-on-rails,ruby,devise,rubygems,Ruby On Rails,Ruby,Devise,Rubygems,我试图覆盖Desive控制器,但我的更改没有任何影响 例如,这是我的会话\u controller.rb class Users::SessionsController < Devise::SessionsController # before_action :configure_sign_in_params, only: [:create] # GET /resource/sign_in def new super authorize! :new, @
class Users::SessionsController < Devise::SessionsController
# before_action :configure_sign_in_params, only: [:create]
# GET /resource/sign_in
def new
super
authorize! :new, @user
end
# POST /resource/sign_in
def create
super
authorize! :create, @user
end
# DELETE /resource/sign_out
# def destroy
# super
# end
# protected
# If you have extra params to permit, append them to the sanitizer.
# def configure_sign_in_params
# devise_parameter_sanitizer.permit(:sign_in, keys: [:attribute])
# end
end
你能发布你的会话控制器代码吗?我是用rails生成Desive:controller生成的。授权行是我自己写的(对于cancancan)有很多关于如何在Desive wiki页面上实现这一点的文档可能是重复的。你能解决这个问题吗?我在registrations\u控制器中的编辑操作中遇到了完全相同的问题。控制器被正确覆盖,这不是问题所在。问题是这些被覆盖控制器上的cancancan授权似乎没有任何效果。
Rails.application.routes.draw do
resources :sessions
resources :corsin_lists
resources :fileuploads do
collection { post :import }
end
root 'documents#index'
resources :documents
resources :entries
resources :documents do
member do
get :entries
end
end
devise_for :users, :controllers => {:sessions => "users_sessions"}
end