Ruby:指定has_many:通过关联,当几个has_many:通过关联给出

时间:2015-09-20 11:21:06

标签: ruby-on-rails ruby activerecord has-many-through

我有一个简单的数据设置,包括用户模型和任务模型。 在这两个模型之间,我有两个has_many:通过协会:奖学金和Assignements。总的来说,我想为一个任务指定几个粉丝和几个受让人。

我现在想要显示所有受让人和所有粉丝的特定任务。 如果只有一个关联,我只能做@ task.users。因为我有两个关联,我想通过哪种关联来指定我想要获得所有用户。

请参阅我的代码:

class User < ActiveRecord::Base
    has_many :assignments
    has_many :tasks, through: :assignments

    has_many :fellowships
    has_many :tasks, through: :fellowships
end

class Task < ActiveRecord::Base
    has_many :assignments
    has_many :users, through: :assignments

    has_many :fellowships
    has_many :users, through: :fellowships
end

class Assignment < ActiveRecord::Base
      belongs_to :user
      belongs_to :task
end

class Fellowship < ActiveRecord::Base
      belongs_to :user
      belongs_to :task
end

假设我有一个任务

@task = Task.first

我现在希望所有受让人和所有粉丝都有类似

的内容

@assignees = @ task.users&#34; over association assignment&#34;

@followers = @ task.users&#34; over associationship&#34;

但我不知道该怎么做。

感谢您的帮助!

0 个答案:

没有答案