我正在构建一个包含两类用户admin
和student
的应用程序。用户模型的属性role
包含admin
或student
。 users
有一个个人资料,但admin
应该能够创建多个个人资料。
我无法弄清楚如何对profile
模型进行建模以允许admin
创建多个模型但student
仅创建一个模型。
我可以做的是检查学生是否有个人资料,并从他们的视图中删除创建个人资料链接,但我确信有更好的方法。
其他信息 - 使用设计进行身份验证并添加了一个角色属性来区分学生(将成为用户)和管理员(我)
答案 0 :(得分:0)
has_many :profiles, conditions => {:role => :admin}
has_many :profile, conditions => {:role => :student}
答案 1 :(得分:0)
我会设置一个基本用户帐户,然后让他们根据描述帐户类型的外键与不同的表进行交互。对于“airbnb”风格的用户帐户。用户可以将列表作为主持人或作为访客进行预订:
class User < ActiveRecord::Base
has_many :listings
has_many :reservations
end
class Reservation < ActiveRecord::Base
#has a foreign key guest_id
belongs_to :guest, :class_name => "User"
end
class Listing < ActiveRecord::Base
#has a foreign key host_id
belongs_to :host, :class_name => "User"
end
希望有所帮助!祝你好运!