Ruby on rails 带导轨和装置的STI
我正在开发一个RubyonRails应用程序,并使用Desive对用户进行身份验证 首先,我有这些模型: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
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
类AddTypeToUserclass AddTypeToUser < ActiveRecord::Migration
def up
add_column :users, :type, :string
end
def down
remove_column :users, :type
end
end