私は現在、コメントスレッドに宝石「nested_set」を使用しています。Rails - ネストされた動作 - 最大レベルの適用
私がやりたいことは、コメントレベルが2レベル以上深くならないようにすることです。私が疲れたことは次のようなものでした:
class Comment < ActiveRecord::Base
....
before_save :ensure_max_nestedset_level
private
# We don't want comments to go more than 2 levels deep. That's overkill
def ensure_max_nestedset_level
if self.level > 2
self.level = 2
end
end
end
しかし、レベルを設定することはできませんが、オブジェクトレベルを取得するだけのようです。コメントスレッドのためにMAXレベルを2レベルまで強化することを目標としています。誰もが起こるからそれを強制する方法を提案することはできますか?
ユースケースがあること:ユーザーが(XXXX程度)最後の1に返信するとき
Comment Main (level 0)
Comment Reply (level 1)
Comment Reply about XXXX (level 2)
私はコメントは3のレベルに設定することにしたくない、私がそれをキャップしたいです2.
アイデア?ありがとう
レベルに関するいくつかのverbageがあるようです:http://rubydoc.info/gems/nested_set/1.6.4/frames 'each_with_level'を使って試しましたか? – Steve
@スティーブ、ありがとうございますが、私はここでその請求書に合っているかどうかはわかりません。私はeach_with_levelが結果をループするためだと思う。私が扱っているのは、新しいネストされたオブジェクトを挿入し、レベルが深く設定されないようにすることです。右? – AnApprentice