Rails 3 - Удивительный вложенный набор - Comment.rebuild! - Результаты в ОШИБКЕ - PullRequest
0 голосов
/ 26 февраля 2011

Я использую awesome_nested_set rails 3 здесь: https://github.com/FreakyDazio/awesome_nested_set

Я пытаюсь перестроить вложение в соответствии с инструкциями по установке.

Я подошел к консоли и набрал:

>>Comment.rebuild!

Но это ошибки с:

ActiveRecord::StatementInvalid: PGError: ERROR:  column "comments.created_at" must appear in the GROUP BY clause or be used in an aggregate function
LINE 2:                 HAVING COUNT("lft") > 1 ORDER BY comments.cr...
                                                         ^
: SELECT "lft", COUNT("lft") FROM "comments" GROUP BY "lft" 
                HAVING COUNT("lft") > 1 ORDER BY comments.created_at DESC LIMIT 1

Есть мысли или идеи, почему?

Спасибо

1 Ответ

4 голосов
/ 26 февраля 2011

Об этих же проблемах сообщается в другом форке activ_as_nested_set (вам, похоже, не повезло. :) См. этот отчет об ошибке .Он упоминает обходной путь, который вы можете использовать в своей модели:

def self.all_roots_valid?
  if acts_as_nested_set_options[:scope]
    roots.group_by{|record| scope_column_names.collect{|col| record.send(col.to_sym)}}.all? do |scope, grouped_roots|
      each_root_valid?(grouped_roots)
    end
  else
    each_root_valid?(roots)
  end
end
...