我正在使用两种类型的用户admin和student构建一个应用程序。用户模型有一个带有admin或student的属性role。users有一个配置文件,但admin应该能够创建多个配置文件。
我不太明白如何对profile模型进行建模,以允许admin创建多个模型,而允许student只创建一个模型。
我可以做的是检查学生是否有个人资料,并从他们的视图中删除create a profile链接,但我相信有更好的方法。
其他信息-使用devise进行身份验证,并添加了一个角色属性来区分学生(谁将是用户)和管理员(我)
发布于 2015-03-13 20:36:05
has_many :profiles, conditions => {:role => :admin}
has_many :profile, conditions => {:role => :student}发布于 2015-03-13 21:08:01
我将设置一个基本用户帐户,然后让它们基于描述帐户类型的外键与不同的表进行交互。用于"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希望这能有所帮助!祝好运!
https://stackoverflow.com/questions/29032213
复制相似问题