Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 设计:防止多个模型同时登录_Ruby On Rails_Devise - Fatal编程技术网

Ruby on rails 设计:防止多个模型同时登录

Ruby on rails 设计:防止多个模型同时登录,ruby-on-rails,devise,Ruby On Rails,Devise,我有两个完全独立的模型,消费者和商店(没有STI,也没有用户模型) Desive的所有功能都正常工作,只是它“允许您同时登录多个模型”。我可以关掉这种行为吗 我正在寻找一种方法来防止用户同时作为消费者和商店登录。例如,如果他以消费者身份登录,他必须先注销,然后再以商店身份登录 我怎样才能强制呢?我发现同时登录两个不同的模型并没有什么实际问题。在我的例子中,唯一奇怪的是,当你以消费者和商店的身份登录时,前端就变成了一种混搭——但在实践中没有人会这样做,而且在任何情况下它都能正常工作 但是,仅供参考

我有两个完全独立的模型,消费者和商店(没有STI,也没有用户模型)

Desive的所有功能都正常工作,只是它“允许您同时登录多个模型”。我可以关掉这种行为吗

我正在寻找一种方法来防止用户同时作为消费者和商店登录。例如,如果他以消费者身份登录,他必须先注销,然后再以商店身份登录


我怎样才能强制呢?

我发现同时登录两个不同的模型并没有什么实际问题。在我的例子中,唯一奇怪的是,当你以消费者和商店的身份登录时,前端就变成了一种混搭——但在实践中没有人会这样做,而且在任何情况下它都能正常工作


但是,仅供参考,您可以通过覆盖
designe::sessioncontroller
create
方法,在任何登录之前强制注销。

我发现同时登录两个不同的模型并没有真正的问题。在我的例子中,唯一奇怪的是,当你以消费者和商店的身份登录时,前端就变成了一种混搭——但在实践中没有人会这样做,而且在任何情况下它都能正常工作


但是,仅供参考,您可以在任何登录之前通过覆盖
designe::sessioncontroller
create
方法强制注销。

您需要自己完成。但如果这是两个不同的对象,他一次只能登录一次对我来说没有意义。最好还是去STI说,他需要决定要登录哪个frontent,或者/store,或者/user@huanson我不使用STI,因为表非常不同,查询总是引用一个表或另一个表,但决不能两者兼而有之。此外,它们确实是不同的对象,但有些Desive方法,例如Desive_parameter_Sanitarizer,对所有类来说都是通用的。@huanson即使我保留两个单独的表,您也可以说,同时登录两个单独的模型并没有什么实际问题
designe\u parameter\u sanitarizer
是常见的,但是您仅在designe控制器中使用它,在这种情况下,路由始终指定一种型号或另一种型号(决不能同时指定两种型号)。唯一奇怪的是,当你以消费者和商店的身份登录时,前端就变成了一种混搭——但在实践中没有人会这么做,而且在任何情况下它都会工作(最多是一些糟糕的用户体验)。你需要自己做。但如果这是两个不同的对象,他一次只能登录一次对我来说没有意义。最好还是去STI说,他需要决定要登录哪个frontent,或者/store,或者/user@huanson我不使用STI,因为表非常不同,查询总是引用一个表或另一个表,但决不能两者兼而有之。此外,它们确实是不同的对象,但有些Desive方法,例如Desive_parameter_Sanitarizer,对所有类来说都是通用的。@huanson即使我保留两个单独的表,您也可以说,同时登录两个单独的模型并没有什么实际问题
designe\u parameter\u sanitarizer
是常见的,但是您仅在designe控制器中使用它,在这种情况下,路由始终指定一种型号或另一种型号(决不能同时指定两种型号)。唯一奇怪的是,当你同时以消费者和商店的身份登录时,前端就变成了一种混搭——但在实践中没有人会这么做,而且在任何情况下都会起作用(最多是一些糟糕的用户体验)。