Ruby on rails Ruby group_按值作为资源集合

Ruby on rails Ruby group_按值作为资源集合,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有记录模型 记录.rb scope :some_record_scope ... 我可以在模型记录上使用此范围。一些\u记录\u范围 但是我需要按小时对这个模型进行分组(例如)。然后将每个值和一些作用域一起用作记录的集合。 我的代码: 但我看到了错误: NoMethodError: undefined method `some_record_scope' for #<Array:0x007fbb4d104b30> NoMethodError:some\u record\u sc

我有
记录
模型

记录.rb

scope :some_record_scope ...
我可以在模型
记录上使用此范围。一些\u记录\u范围

但是我需要按小时对这个模型进行分组(例如)。然后将每个值和一些作用域一起用作记录的集合。 我的代码:

但我看到了错误:

NoMethodError: undefined method `some_record_scope' for #<Array:0x007fbb4d104b30>
NoMethodError:some\u record\u scope的未定义方法#

如何将其用作集合?

要为上述答案添加更多信息和解释,出现错误的原因是您在调用范围之前调用了.all和.group\u,前面的答案如下:

Record.some_record_scope.order(:created_at).group_by {|r| r.created_at.strftime('%H') }
Record.some_record_scope.order(:created_at).group_by {|r| r.created_at.strftime('%H') }
之所以有效,是因为在ActiveRelation对象上调用了某些\u记录\u作用域,
就多个作用域而言,我认为您可以将作用域引用链接起来,比如
Record.some\u scope.other\u scope.order……

它已经是一个集合(更准确地说,是一个数组)
some\u record\u scope
是错误的原因,这里没有人知道它代表什么。你能分享你的日志文件吗。什么是
some\u record\u scope
?你不能对集合或数组调用方法。它应该是实例方法或类方法。你能告诉我们你的最终目标是什么吗?我认为可能有更好的方法对记录进行分组,例如SQL group函数。但是,在不知道您的数据是什么样子以及您想要得到什么的情况下,我无法提出任何建议。请对您的答案添加一些解释。是的,我实现了,但是如果您需要多个作用域,该怎么办?更清楚地说,.all返回一个数组,而不是包含数组的ActiveRelation对象,您需要在ActiveRelation上调用作用域,Array类不知道您的自定义作用域
Record.some_record_scope.order(:created_at).group_by {|r| r.created_at.strftime('%H') }