2015-03-13 39 views
0

我正在建立一个应用程序与2种类型的用户adminstudent。用户模型的属性roleadminstudentusers只有一个配置文件,但admin应该能够创建许多配置文件。用户有一个配置文件,管理员可以使很多

我不能完全弄清楚如何建模profile模型,以允许admin创建很多,但student只创建一个。

我可以做的是检查一个学生是否有一个配置文件,并从他们的视图中删除创建一个配置文件链接,但我相信有一个更好的方法。

其他信息 - 使用设计进行验证,并已加入了角色属性来区分学生(谁是用户)和管理(ME)

回答

0
has_many :profiles, conditions => {:role => :admin} 
has_many :profile, conditions => {:role => :student} 
+0

你的意思是'has_one:profile,conditions => {:role =>:student}'? – 2015-03-13 12:41:01

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 

希望帮助!祝你好运!

相关问题