現在のユーザーが作成していないdatetimeの後に作成されたコメントを検索しようとしています。時間の後に作成された親の子の検索をリファクタリングする
は、まず、私はこれをしなかった。..
current_user.comments.find(:all, :conditions=>["created_at > ? AND user_id != ?",
current_user.last_checked_mail, current_user])
が、問題はここでは、ユーザモデルから始まるので、その唯一の発見コメントは、もっぱらそのユーザーによって行われたということでした。
はので、代わりに、私はそう長く自分の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
これは非常にエキサイティングな対応です。私はここでかなり新しいことを学んでいます。唯一のキャッチは、これがOPによって作られたコメントを除外しないということです。 – Trip
私はこれを試しましたが、動作していないようです。 ':commentable_id => comments.map(&:id)、:user_id!= user .id' – Trip
これはハッシュの有効な構文ではないためです。私は少し答えを更新しました。多形性を使っているのが分かります。私はあなたが把握するためにそれを残す;) – iain