【发布时间】:2012-07-28 19:04:25
【问题描述】:
在 Rails 中工作,我正在努力输出 2012 年秋季季度的用户课程列表。我在这里有 3 个重要模型:用户、宿舍和课程。根据我所做的其他工作,我很确定我的模型协会是正确的,但对于那些感兴趣的人:
- 用户 has_many :quarters 和 has_many :courses through quarters
- Quarter belongs_to 用户和 HABTM 课程(通过适当的联接表)
- 课程有_many 用户通过季度和HABTM 季度
我想实现一个查询来收集特定季度的课程,例如
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
谢谢!任何想法表示赞赏:)
【问题讨论】:
-
为什么不能使用
Courses.where(:quarter => my_quarter, :user => current_user).each
标签: ruby-on-rails arrays associations associated-object