gpt4 book ai didi

ruby-on-rails - 使用 Rails 和 Devise 的 STI

转载 作者:数据小太阳 更新时间:2023-10-29 07:44:55 24 4
gpt4 key购买 nike

我正在开发 Ruby on Rails 应用程序并使用设计来验证用户。

首先,我有这些模型:

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

class Admin < User
end

class Partner < User
end

我在路线上的 devise_for:

devise_for :users, :controllers => {
:registrations => "registrations",
:passwords => "passwords"
}

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

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

最佳答案

配置路由:

devise_for :users
devise_for :admins
devise_for :partners

生成设计 View

rails generate devise:views user
rails generate devise:views admin
rails generate devise:views partner

不要忘记,在用户表中为您的 STI 添加类型字段

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

def down
remove_column :users, :type
end
end

关于ruby-on-rails - 使用 Rails 和 Devise 的 STI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31989648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com