【发布时间】:2010-12-13 17:18:54
【问题描述】:
我正在尝试查找不是由当前用户创建的日期时间之后创建的任何 cmets。
一开始我是这样做的..
current_user.comments.find(:all, :conditions=>["created_at > ? AND user_id != ?",
current_user.last_checked_mail, current_user])
但这里的问题是因为它从用户模型开始,它只能找到由该用户专门制作的 cmets。
因此,我开始搜索与该用户关联的所有 cmets,以及这些 cmets 子项,只要它们的 user_id 不是 current_user 即可
Comment.find(:all, :conditions => ["user_id = ?", current_user]).select { |c|
c.comments.find(:all, :conditions => ["user_id != ?", current_user])
}
但似乎仍然会吸引与 current_user 相关的每条评论,而不是他们的孩子。
我的评论模型:
belongs_to :commentable, :polymorphic => true
has_many :comments, :as => :commentable
【问题讨论】:
标签: sql ruby-on-rails syntax find