我有讨论、响应和用户模型。一个讨论属于一个用户,并且有很多响应。响应属于讨论和用户。用户有很多讨论并且有很多响应。
我想检索 1) 属于用户或 2) 具有属于用户的响应的所有讨论。但我不确定语法。
这可以通过一个查询使用 Rails 3 语法来完成,还是我必须编写自定义 SQL?伪代码:
@discussions = current_user.discussions # and current_user.discussions where a response belongs to current_user
class Discussion < ActiveRecord::Base
belongs_to :author, class_name: 'User', foreign_key: 'user_id'
end
class Response < ActiveRecord::Base
belongs_to :author, class_name: 'User', foreign_key: 'user_id'
belongs_to :discussion
end
class User < ActiveRecord::Base
has_many :discussions
has_many :responses
end