2つのモデル、ディスカッション、投稿があるとします。投稿はディスカッションに属します。最新の投稿の作成日をチェックすることで、オブジェクトの最新のアクティビティをチェックする、ディスカッションモデルのカスタムアクションがあります。すなわちレールでカスタムメソッドでソートまたはスコープを設定することは可能ですか?
def latest activity
self.posts.last.created_at || self.created_at
end
iは、たとえば、ディスカッションモデル内の列をではなく、この方法により、モデルのオブジェクトを注文スコープを書くことができますか?
scope :latest_activity, #what to put here?
私は親を変更しない理由は、単にそれが冗長であると感じて、親にそのフィールドを追加し、各投稿で更新するということだけです。これは間違っていますか? – jay
これが別の解決策であることがわかります。しかし、質問によると、親にフィールドを記録しないでスコープする方法はありますか? – jay
これを試してください:scope:latest_activity、includes(:posts).order( "posts.created_at DESC") – amunds