【发布时间】:2015-05-27 16:00:00
【问题描述】:
目前在我的 Rails 应用程序中,我使用 devise 生成具有电子邮件和密码的“用户”模型。该模型与另一个模型“profileAboutuser”具有一对一的关系,该模型具有关于用户的描述,如姓名、地址等。每当有新用户注册时,都会创建相应的表。
has_one :profile_user, dependent: :destroy
after_create :build_profile_user
我的应用程序还需要另一种用户“theExpert”。 “theExpert”是回答任何用户查询的用户。 “theExpert”只能由开发者、管理员批准创建。典型的用户不能是“theExpert”。让专家模型为描述各种专家信息的“profileExpert”。
我如何维护“theExpert”。
我是否要为“theExpert”创建一个新的设计模型,但这意味着创建一个单独的登录表单,这是不可取的。
或者我应该将新的布尔字段添加到默认设置为 false 的 profileUser“is_expert”。开发人员、管理员可以在需要时将此值设置为 true。
或者我应该更改我现有的代码以支持多态关联。用户可以是专家也可以是典型用户。
编辑- 我需要在用户是专家还是典型用户之间进行选择。如果需要,我可以不向典型用户添加额外的 profileExpert 连接吗?
【问题讨论】:
标签: ruby-on-rails