多对多关系:如何检查模型的子模型已经包含其他子模型?

时间:2013-11-28 06:06:08

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

我有很多关系:

以下创建了三个模型

  1. 用户
  2. 会议
  3. 参与者(加入表格)
  4. 他们的关系很简单:

    1. 一位用户有很多会议
    2. 一次会议有很多用户
    3. 所以:

        

      检查 User.Meettings 的最佳方式包含其他指定会议

      我尝试:

        

      我尝试使用 include?方法,但rails会出现错误列   在顺序条款是不明确的

1 个答案:

答案 0 :(得分:0)

User模型中

  

has_many:参与者

     

has_many:meetings,:through => :参与者

Meeting模型中

  

has_many:参与者

     

has_many:users,:through => :参与者

Participant模型中

  

belongs_to:会议
  belongs_to:user

然后,您可以执行类似

的操作
  

User.first.meetings#返回第一次用户会议

     

Meeting.first.users#返回第一个会议用户

如果这是最佳解决方案,我不知道,

  

使用collect方法收集ID或meeting_names,然后使用   数组上的include?方法,返回false的错误