用户有一个配置文件,管理员可以制作很多

时间:2015-03-13 12:25:21

标签: ruby ruby-on-rails-4 rails-models

我正在构建一个包含两类用户adminstudent的应用程序。用户模型的属性role包含adminstudentusers有一个个人资料,但admin应该能够创建多个个人资料。

我无法弄清楚如何对profile模型进行建模以允许admin创建多个模型但student仅创建一个模型。

我可以做的是检查学生是否有个人资料,并从他们的视图中删除创建个人资料链接,但我确信有更好的方法。

其他信息 - 使用设计进行身份验证并添加了一个角色属性来区分学生(将成为用户)和管理员(我)

2 个答案:

答案 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

希望有所帮助!祝你好运!