gpt4 book ai didi

ruby-on-rails - 设计和STI如何在注册时以基类身份登录

转载 作者:行者123 更新时间:2023-12-04 04:35:57 25 4
gpt4 key购买 nike

我已经看过类似的帖子,但无法完全获得所需的答案。

我有一个User模型,使用STI是一种User类型的Student模型。

当我创建一个新的Student时,Devise使用student_session登录该Student。问题是我的应用程序的其余部分使用了user_session。所以,我应该使用student_session创建一个新的user_session吗?然后注销学生?

还是有办法让Devise允许学生创建,但以用户基本模型登录?

谢谢,
安东尼

最佳答案

查看这篇文章,看看它是否对您有帮助:

Rails: Using Devise with single table inheritance

该摘要实质上是要执行以下操作:

config/routes.rb:

devise_for :users, :controllers => { :sessions => 'sessions' }, :skip => :registrations
devise_for :students, :skip => :sessions

app/controllers/sessions_controller.rb:
class SessionsController < Devise::SessionsController
def create
rtn = super
sign_in(resource.type.underscore, resource.type.constantize.send(:find, resource.id)) unless resource.type.nil?
rtn
end
end

关于ruby-on-rails - 设计和STI如何在注册时以基类身份登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com