Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 对于ActiveRecord::Relation的实例,是否有一个方法可以返回所使用的所有条件/范围?_Ruby On Rails_Ruby On Rails 3_Activerecord_Scope - Fatal编程技术网

Ruby on rails 对于ActiveRecord::Relation的实例,是否有一个方法可以返回所使用的所有条件/范围?

Ruby on rails 对于ActiveRecord::Relation的实例,是否有一个方法可以返回所使用的所有条件/范围?,ruby-on-rails,ruby-on-rails-3,activerecord,scope,Ruby On Rails,Ruby On Rails 3,Activerecord,Scope,这个问题适用于Rails3.x 假设我有一个商业模式,公司和城市模式……每个企业都属于一个公司,也属于一个城市……我设置了范围,以便: City.businesses.owned_by(some_company_id) …返回该城市的所有企业,由某家公司所有 是否有一种方法可以在作用域链的末尾使用,以返回用于返回相关activerecords的所有条件?通过调用arel.constraints或只调用ActiveRecord::Relation上的constraints,您可以访问条件数组 例

这个问题适用于Rails3.x

假设我有一个商业模式,公司和城市模式……每个企业都属于一个公司,也属于一个城市……我设置了范围,以便:

City.businesses.owned_by(some_company_id)
…返回该城市的所有企业,由某家公司所有


是否有一种方法可以在作用域链的末尾使用,以返回用于返回相关activerecords的所有条件?

通过调用
arel.constraints
或只调用
ActiveRecord::Relation
上的
constraints
,您可以访问条件数组

例如,在我的一个应用程序中,我有一个称为
active
的作用域:

z = Auction.active.constraints.last
=> #<Arel::Nodes::Grouping:0x007fa66753c108 @expr="auctions.ending_at > '2011-08-22 23:44:11.591438'">
z.expr
=> "auctions.ending_at > '2011-08-22 23:44:14.295435'"
z=Auction.active.constraints.last
=> #
z、 expr
=>“auctions.ending_于>'2011-08-22 23:44:14.295435'结束”