Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 或者在Ruby on Rails ActiveRecords中调用多个命名作用域_Ruby On Rails_Ruby_Activerecord_Scope_Named Scope - Fatal编程技术网

Ruby on rails 或者在Ruby on Rails ActiveRecords中调用多个命名作用域

Ruby on rails 或者在Ruby on Rails ActiveRecords中调用多个命名作用域,ruby-on-rails,ruby,activerecord,scope,named-scope,Ruby On Rails,Ruby,Activerecord,Scope,Named Scope,我有一个这样的汽车模型 class Car < ActiveRecord::Base scope :modern, -> do where(make_date: 2018) end scope :black, -> do where(color: :black) end scope :bmw, -> do where(make: :bmw) end end class-Car

我有一个这样的汽车模型

class Car < ActiveRecord::Base
    scope :modern, -> do
        where(make_date: 2018)
    end
    scope :black, -> do
        where(color: :black)
    end
    scope :bmw, -> do
        where(make: :bmw)
    end
end
class-Cardo
地点(制造日期:2018年)
终止
经营范围:黑色,->do
其中(颜色::黑色)
终止
经营范围:宝马、->do
何处(制造::宝马)
终止
终止
我可以通过Car.modern找到所有现代汽车

我可以通过
Car.black
找到所有的黑色汽车

我可以通过
Car.BMW
找到所有宝马汽车

如何使用这些命名范围查找所有“黑色”或“现代”汽车?这样我就可以在一个结果集中拥有旧的黑色日产,现代的白色宝马,现代的黑色福特


使用Rails 4.2.8,您可以使用gem。更多信息。在自己提问之前,请仔细搜索。很可能以前有人偶然发现了这个问题。

答案是不同的,这取决于您使用的rails版本(>=5或使用的rails 4.2.8可能与之重复。如果您可以升级到rails 5,则此版本已添加了对ActiveRecord的支持或在ActiveRecord中提供了支持。