Ruby on rails 带导轨和装置的STI

Ruby on rails 带导轨和装置的STI,ruby-on-rails,ruby,authentication,devise,sti,Ruby On Rails,Ruby,Authentication,Devise,Sti,我正在开发一个RubyonRails应用程序,并使用Desive对用户进行身份验证 首先,我有这些模型: class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :lockable end class Admin < User end class Partner

我正在开发一个RubyonRails应用程序,并使用Desive对用户进行身份验证

首先,我有这些模型:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :lockable
end

class Admin < User
end

class Partner < User
end
我想做什么?我想为每个模型做一个单独的设计,具有不同的视图和不同的策略,例如:用户使用注册号和密码登录,管理员和合作伙伴使用电子邮件和密码登录(我认为管理员和合作伙伴设计可以是相同的,因为他们的登录策略是相同的)

执行此操作的最佳方法是什么?

配置路由:

devise_for :users
devise_for :admins
devise_for :partners
生成设计视图

rails generate devise:views user
rails generate devise:views admin
rails generate devise:views partner
别忘了,在users表中为STI添加类型字段

class AddTypeToUser < ActiveRecord::Migration
  def up
    add_column :users, :type, :string
  end

  def down
    remove_column :users, :type
  end
end
类AddTypeToUser
class AddTypeToUser < ActiveRecord::Migration
  def up
    add_column :users, :type, :string
  end

  def down
    remove_column :users, :type
  end
end