0

我有需要连接登录的 Rails 3.2.11 应用程序。Devise Database Authenticatable 本来可以,除了:

  1. 我无法创建表/字段并且需要使用现有字段(设计想要创建用户模型)。
  2. 而不是用户模型,我必须使用带有电子邮件和密码字段的“现有模型(学生)。

你们中的任何一位 Rails 大师会告诉我如何自定义 Devise 或者是否使用不同的东西。基本要求是:使用必须注册但使用现有表/字段的登录系统。

谢谢

4

2 回答 2

1

如果您无法将字段添加到表中,快速回答是,Devise 不是身份验证选择。它需要某些基本的特定领域才能工作。

正如 Peter de Ridder 指出的那样,您可以使用特定的模型名称设置 Devise。但是,如果没有这些必填字段,就会出现一些错误(例如“缺失列”等更神秘的错误)。

请注意,在此 Devise 的 wiki 文章中,根据需要引用这些字段:

https://github.com/plataformatec/devise/wiki/How-To:-change-an-already-existing-table-to-add-devise-required-columns

于 2013-02-07T11:40:08.460 回答
0

您可以根据需要自定义设计。Railscasts #210 提供有关自定义选项的信息。您可以使用您想要的任何名称创建设计模型。例如,您可以这样做:

rails generate devise Student

如果你想要一个学生模型。Devise 中的几乎所有内容都可以自定义,尽管有些更改比其他更改更容易。您还可以从 github 上的 devise 获取所有控制器,并在您自己的应用程序中自定义或覆盖它们。设计 wiki 有很多关于定制的信息:

https://github.com/plataformatec/devise/wiki

如果您想完全控制所有身份验证选项,我还可以推荐从头开始修改的 railscast #250 身份验证(也可用于从头开始授权的 railscast)。

于 2013-02-06T21:15:11.560 回答