我正在开发一个 Rails 应用程序,我有 3 种不同的用户类型。这些用户可能非常不同,所以我为他们每个人创建了模型。现在,他们应该能够通过一个表单登录。所以基本上我想说'find_by_email(“some_email”)'之类的东西,但是搜索所有三个表。不过,Rails 似乎希望您使用特定模型调用“find_by”,例如 Admin.find_by()。有什么建议么?
问问题
105 次
2 回答
1
尝试这样的事情并假设电子邮件在所有表格中都是唯一的
[Model1, Model2, Model3].each do |model|
break if model.find_by_email("email@email.com").present?
end
于 2012-11-05T13:57:39.820 回答
0
希望这是您开发的早期阶段,但当前的结构可能不是最好的路线。每种用户类型不共享多少不同的列?您可能想要使用“用户角色”系统,并将其作为用户表上的一个额外列。
然后,您可以使用CanCan之类的东西来管理这些角色以及他们可以访问的内容/位置。
于 2012-11-05T13:58:00.367 回答