Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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 在RubyonRails中显示模型的所有可用命名范围_Ruby On Rails_Searchlogic - Fatal编程技术网

Ruby on rails 在RubyonRails中显示模型的所有可用命名范围

Ruby on rails 在RubyonRails中显示模型的所有可用命名范围,ruby-on-rails,searchlogic,Ruby On Rails,Searchlogic,尤其是在使用Searchlogic时。我很难猜测要使用什么命名范围来实现我的需要。您可以使用 Model.scopes => {:one_scope_name=>#<Proc:0x0000...>, :other_scope_name=>#<Proc:0x0000...>, ... } Model.scopes =>{:one_scope_name=>#,:other_scope_name=>#,…} 它提供了一个散列,因此如果只需要名称,请使用Mo

尤其是在使用Searchlogic时。我很难猜测要使用什么命名范围来实现我的需要。

您可以使用

Model.scopes
=> {:one_scope_name=>#<Proc:0x0000...>, :other_scope_name=>#<Proc:0x0000...>, ... }
Model.scopes
=>{:one_scope_name=>#,:other_scope_name=>#,…}
它提供了一个散列,因此如果只需要名称,请使用
Model.scopes.keys

但这将只提供已经定义的作用域。它不会帮助您创建由searchlogic生成的作用域,因为,正如您在(引擎盖部分下)中所读到的那样,
field\u eq
等作用域仅在首次使用时创建:

“Searchlogic利用方法_缺失 创建所有这些命名作用域。 当它点击方法_时,它会创建 一个命名的作用域,以确保它永远不会 名为的方法缺少hit方法 又是作用域。有点像缓存 机制。它在相同的环境下工作 流行于ActiveRecord的“按查找” 方法。这样,只有指定的 您需要的作用域已创建并 没别的了。”


你的问题不清楚你在问什么。太好了,谢谢!很高兴有人能理解,这种方法似乎不再适用了