Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3-很棒的嵌套集-Comment.rebuild!-导致错误_Ruby On Rails_Ruby On Rails 3_Nested Sets - Fatal编程技术网

Ruby on rails Rails 3-很棒的嵌套集-Comment.rebuild!-导致错误

Ruby on rails Rails 3-很棒的嵌套集-Comment.rebuild!-导致错误,ruby-on-rails,ruby-on-rails-3,nested-sets,Ruby On Rails,Ruby On Rails 3,Nested Sets,我在这里使用的是很棒的嵌套轨道3分叉: 我正试图按照安装说明重建嵌套 我到控制台输入: >>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:

我在这里使用的是很棒的嵌套轨道3分叉:

我正试图按照安装说明重建嵌套

我到控制台输入:

>>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
有什么想法或想法吗?为什么


谢谢

同样的问题在acts\u as\u嵌套集中报告(你似乎运气不好。)请参见。他确实提到了一个可以放在模型中的变通方法:

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

同样的问题在acts_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