java 配置文件设计,在设计注册控制器中添加用户配置文件
我有一个Rails应用程序,有三种用户,专业人士,学生和普通公民 . 因此,我使用三种不同的配置文件制作了用户模型多态 .
User.rb
belongs_to :profile, polymorphic: true
Professional.rb
has_one :user, as: :profile, dependent: :destroy
Student.rb
has_one :user, as: :profile, dependent: :destroy
Citizen.rb
has_one :user, as: :profile, dependent: :destroy
我想使用Devise作为中心注册并为User模型创建设计
rails generate devise User
然后我创建了一个继承自Devise Registrations控制器的Registrations控制器,并在after_sign_up_path_for方法中,我将用户分配给用户在注册表单上选择的任何配置文件 .
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(user)
if user.professional === true
user.profile = ProfessionalProfile.create!
user.save!
elsif
....
end
end
现在,这可行,通过覆盖应用程序控制器中的 def after_sign_in_path_for(resource) ,我可以将用户重定向到他们创建的任何配置文件
def after_sign_in_path_for(resource)
if current_user.profile_type === 'ProfessionalProfile'
professional_profile_path(current_user)
elsif
....
end
然而,即使这有效,我对Rails的经验很少(在制作我自己的应用程序方面;我已经遵循了一些教程)并设计,所以我想知道,在我继续开发应用程序之前,如果我通过这种方式创建配置文件,无论是设计还是其他任何事情都会遇到问题 . 有一个更好的方法吗?
我想作为一种可能的替代方案,我想知道是否应该尝试覆盖Devise的创建用户操作,以便它同时创建相关的配置文件 .
java 配置文件设计,在设计注册控制器中添加用户配置文件相关推荐
- 用户配置文件服务登录失败。无法加载用户配置文件
昨天电脑正常关闭,可是今天打开时提示"用户配置文件服务登录失败.无法加载用户配置文件"在使用F8 最后一次正确配置后,还是无效,最后只有重新创建账号,问题解决了,我也从网络上找到了 ...
- Android P 解决“从锁定屏幕中添加用户”功能不起作用
问题描述 打开设置–>系统–>高级–>多用户,如下图所示: 测试同事发现当没有启用这个功能时候,在锁屏页面还是可以添加新用户,默认是没有打开这个功能的.先看看锁屏页面,在锁屏页面调出 ...
- 计算机用户无法加载配置文件,““用户配置文件服务登录失败。无法加载用户配置文件””的解决方案...
[问题描述]: 用户配置文件服务登录失败.无法加载用户配置文件 [原因分析]: 1.\t加载失败 2.\t用户帐户配置文件损坏 [简易步骤]: 无 [解决方案]: 方案一:系统加载失败,重新启动电脑. ...
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- 使用PHP往Windows系统中添加用户
可以实现, 方法有二. 一.再Web中添加用户 因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数 ...
- MySql中添加用户/删除用户
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- 在Tomcat中添加用户和权限
Tomcat中添加用户和权限 1.添加用户和权限 2.验证添加的用户和权限是否可以使用 在使用Tomcat时, 我们往往会需要添加用户和权限, 如: Jenkins 在部署项目到 Tomcat 服务器 ...
- 游戏建模控件Aspose.3D for Java最新版支持在Wavefront OBJ中添加点云支持
Aspose.3D for Java是独立的Gameware和计算机辅助设计(CAD)API,用于处理3D文件.同时支持大多数流行的3D文件格式,应用程序可以轻松创建,读取,转换和修改3D文件.此外, ...
- java 艺术字_Java 在Word文档中添加艺术字的示例
与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...
最新文章
- 为啥辣椒会辣得人嘴巴疼?这个问题竟然和今年诺奖有关
- LINUX分区空间扩容操作
- 书评 —— 深入网站开发和运营
- Swift学习------常量与变量
- Java 缓冲流简介及简单用法
- 【PM】当大厂来临时,求生?求胜?
- 减一天 日期函数_一文掌握excel中的日期函数
- 系统架构设计师 - 软件架构设计 - 架构评估
- 货币量化宽松的投资机会-郎咸平
- python实现二分查找算法
- 35.5. array route
- Maya批量属性修改链接插件1.1.0更新
- python当中df的用法_Pydf替代“df”命令检查不同颜色的磁盘使用情况
- 汇总我关注的技术博主的2021年度总结
- Proteus仿真51单片机入门
- [转|会计学习]资产盘盈、盘亏的会计处理
- html发票页面,HTML5 发票模板
- storm各组件特点
- java补空格_JAVA STRING 对象自动补齐空格
- 家到学校路线图怎么画_从家到学校的详细地图这样画
热门文章
- 学习Bloom Filter,处理“海量”数据
- linux 基础命令汇总
- 火爆Github的刷题攻略,现在配套网站上线了!!力扣刷题网站,刷题路线
- Linux 如何查看是否开启journal
- void value not ignored as it ought to be 报错原因
- Illustrator最新教程,如何在 Illustrator 中微调图标?
- 在苹果mac中使用excel时,如何快速求和多行数值?
- 玩转MacBook的五个使用技巧
- IP Scanner Pro for mac(局域网IP扫描软件)
- Mac可以在Dock上监视磁盘活动