Ruby on rails 导轨:使用Desive连接2个模型和1个表单
最近我一直在用Rails做很多实验,现在我正在做一个项目。我希望实现的是在同一个数据库中为2组表提供一个登录表单 一个叫用户,另一个叫成员。我正在这样做,如果你向其中一个注册你的电子邮件,你就不能向另一个注册。为了避免重复错误,如果你同时注册了这两个。然而,我似乎不知道如何创建一个表单,用于检查登录数据是否存在于用户或成员中,然后分别登录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))
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
不知道该如何调整这个家伙 您可以覆盖Desive Controller并编写自己的自定义创建函数,以确定要保存的模型。您可以按照以下文档操作: 我可以提出的另一种方法是,您只需使用Desive控制器,只需更改视图。由于表单相同,您可以将表单提取到部分中,然后覆盖设计视图文件以使用部分。您可以按照此处的文档覆盖设计视图: <> P>因为您的用户和成员非常相似,您可能需要考虑从用户(或其他方式)对成员进行子类分类,以便电子邮件的验证在用户中,并且成员也将获得该验证。用户和成员可以共享同一个表
对于您的登录表单,您可以使用相同的表单,但需要将其定向到您自己的自定义控制器,然后该控制器将检查这两个模型,然后返回结果。按照上面覆盖Desive控制器的步骤操作。只是想得到一些澄清。您是想让一个人注册为
用户
还是会员
,但不是两者都注册?或者是您想要它,以便一个人可以注册为用户
和成员
,但您只是不想在数据库中存储他们的电子邮件两次?