不同型号的设计

different Models with devise

是否可以使用设计生成不同的模型并分别具有不同的注册表单?

我需要两种类型的用户,他们都可以登录、注册等,但他们接受不同的参数。

我尝试创建不同的模型,但在我的视图中仍然只给我一个具有唯一注册表单的文件夹。我还尝试将两种类型用户的所有参数都放入此表单中,但它 returns

  undefined method `philosophy' for #<User:0x007fbab0961ca8>

其中 philosophy 是我第二个用户的参数。

我需要这个来工作,因为我正试图通过活动记录将这 2 个用户关联到另一个

   user belongs_to :charity

   charity has_many :users

知道如何解决这个问题吗?

要生成多个模型(例如,用户和管理员),只需使用:

> rails generate devise User
> rails generate devise Admin

要生成不同的视图集:

config/initializers/devise.rb 文件中设置 config.scoped_views = true。 您现在可以根据角色获得视图,例如 users/sessions/newadmins/sessions/new。如果在其中找不到视图 范围,Devise 将使用 devise/sessions/new 处的默认视图。 您可以使用生成器生成作用域视图:

$ rails generate devise:views users
$ rails generate devise:views admins

来源:devise github readme