Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 导轨:使用Desive连接2个模型和1个表单_Ruby On Rails_Ruby_Ruby On Rails 4_Devise - Fatal编程技术网

Ruby on rails 导轨:使用Desive连接2个模型和1个表单

Ruby on rails 导轨:使用Desive连接2个模型和1个表单,ruby-on-rails,ruby,ruby-on-rails-4,devise,Ruby On Rails,Ruby,Ruby On Rails 4,Devise,最近我一直在用Rails做很多实验,现在我正在做一个项目。我希望实现的是在同一个数据库中为2组表提供一个登录表单 一个叫用户,另一个叫成员。我正在这样做,如果你向其中一个注册你的电子邮件,你就不能向另一个注册。为了避免重复错误,如果你同时注册了这两个。然而,我似乎不知道如何创建一个表单,用于检查登录数据是否存在于用户或成员中,然后分别登录 <%= form_for(resource, as: resource_name, url: session_path(resource_name))

最近我一直在用Rails做很多实验,现在我正在做一个项目。我希望实现的是在同一个数据库中为2组表提供一个登录表单

一个叫用户,另一个叫成员。我正在这样做,如果你向其中一个注册你的电子邮件,你就不能向另一个注册。为了避免重复错误,如果你同时注册了这两个。然而,我似乎不知道如何创建一个表单,用于检查登录数据是否存在于用户或成员中,然后分别登录

<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>


不知道该如何调整这个家伙

您可以覆盖Desive Controller并编写自己的自定义创建函数,以确定要保存的模型。您可以按照以下文档操作:

我可以提出的另一种方法是,您只需使用Desive控制器,只需更改视图。由于表单相同,您可以将表单提取到部分中,然后覆盖设计视图文件以使用部分。您可以按照此处的文档覆盖设计视图:

<> P>因为您的用户和成员非常相似,您可能需要考虑从用户(或其他方式)对成员进行子类分类,以便电子邮件的验证在用户中,并且成员也将获得该验证。用户和成员可以共享同一个表


对于您的登录表单,您可以使用相同的表单,但需要将其定向到您自己的自定义控制器,然后该控制器将检查这两个模型,然后返回结果。按照上面覆盖Desive控制器的步骤操作。

只是想得到一些澄清。您是想让一个人注册为
用户
还是
会员
,但不是两者都注册?或者是您想要它,以便一个人可以注册为
用户
成员
,但您只是不想在数据库中存储他们的电子邮件两次?