1

在 Rails 中工作,我正在努力输出 2012 年秋季季度的用户课程列表。我在这里有 3 个重要模型:用户、宿舍和课程。根据我所做的其他工作,我很确定我的模型协会是正确的,但对于那些感兴趣的人:

  • 用户 has_many :quarters 和 has_many :courses through Quarters
  • Quarter belongs_to 用户和 HABTM 课程(通过适当的连接表)
  • 课程 has_many users through quarters 和 HABTM Quarters

我想实现一个查询来收集特定季度的课程,例如

    current_user.quarters.where(:term => "Fall 2012").courses.each do |c|
       puts c.title
    end

但这会导致我理解的错误“未定义的方法'课程'”,但我仍然想像上面的代码那样访问对象数组的所有关联对象,而不是运行我需要的嵌入式循环:

    current_user.quarters.where(:term => "Fall 2012").courses.each do |q|
        q.courses.each do |c|
            puts c.title
        end
    end

谢谢!任何想法表示赞赏:)

4

1 回答 1

3

像这样 :

current_user.courses.where("quarters.term" => 'Fall 2012')

应该管用 :)

于 2012-07-28T19:12:00.520 回答