В настоящее время я использую драгоценный камень 'nested_set' для обработки комментариев.
Что я хочу сделать, так это не допустить, чтобы уровень комментариев углублялся более чем на 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
Но похоже, что вы не можете установить уровень, только получите уровень объектов. Цель состоит в том, чтобы обеспечить МАКС. 2 уровня глубины для цепочки комментариев. Может ли кто-нибудь предложить способ принудительного выполнения этого?
Вариант использования:
Comment Main (level 0)
Comment Reply (level 1)
Comment Reply about XXXX (level 2)
Когда пользователь отвечает на последний (о XXXX), я не хочу, чтобы для комментария был установлен уровень 3, я хочу ограничить его до 2.
Идеи? Спасибо
each_with_level
? - person Steve   schedule 19.02.2011