使devise可见

1.使devise下页面可见
rails generate devise:views

>

2-1.使devise下controller 可见
(1) rails generate devise:controllers [scope]
eg: rails g devise:controllers users
你将会看到controller被创建在app/controllers/users/文件夹下。而且session controller会如下显示 :

1
2
3
4
5
6
class Users::SessionsController < Devise::SessionsController
# GET /resource/sign_in
# def new
# super
# end
end

(2) 在路径中将devise_for :users替换成

1
devise_for :users, controllers: { sessions: 'users/sessions' }

(3) 将 devise/session下的 view 文件复制进 user/session 下。
因为controller被改变了,他就不能用原来默认咋在 devise/session 文件夹下的view了
(4)改你想要的controller的actions
第一种:

1
2
3
4
5
class Users::SessionsController < Devise::SessionsController
def create
# custom sign-in code
end
end
或者就简单添加你想要做的操作
第二种:
1
2
3
4
5
6
7
class Users::SessionsController < Devise::SessionsController
def create
super do |resource|
BackgroundWorker.trigger(resource)
end
end
end

2-2.gem env–查看gem安装路径
之后cp 复制出来