我有需要连接登录的 Rails 3.2.11 应用程序。Devise Database Authenticatable 本来可以,除了:
- 我无法创建表/字段并且需要使用现有字段(设计想要创建用户模型)。
- 而不是用户模型,我必须使用带有电子邮件和密码字段的“现有模型(学生)。
你们中的任何一位 Rails 大师会告诉我如何自定义 Devise 或者是否使用不同的东西。基本要求是:使用必须注册但使用现有表/字段的登录系统。
谢谢
我有需要连接登录的 Rails 3.2.11 应用程序。Devise Database Authenticatable 本来可以,除了:
你们中的任何一位 Rails 大师会告诉我如何自定义 Devise 或者是否使用不同的东西。基本要求是:使用必须注册但使用现有表/字段的登录系统。
谢谢
如果您无法将字段添加到表中,快速回答是,Devise 不是身份验证选择。它需要某些基本的特定领域才能工作。
正如 Peter de Ridder 指出的那样,您可以使用特定的模型名称设置 Devise。但是,如果没有这些必填字段,就会出现一些错误(例如“缺失列”等更神秘的错误)。
请注意,在此 Devise 的 wiki 文章中,根据需要引用这些字段:
您可以根据需要自定义设计。Railscasts #210 提供有关自定义选项的信息。您可以使用您想要的任何名称创建设计模型。例如,您可以这样做:
rails generate devise Student
如果你想要一个学生模型。Devise 中的几乎所有内容都可以自定义,尽管有些更改比其他更改更容易。您还可以从 github 上的 devise 获取所有控制器,并在您自己的应用程序中自定义或覆盖它们。设计 wiki 有很多关于定制的信息:
https://github.com/plataformatec/devise/wiki
如果您想完全控制所有身份验证选项,我还可以推荐从头开始修改的 railscast #250 身份验证(也可用于从头开始授权的 railscast)。