我正在使用带有 Rails 3 的 ActiveRecord。
我在模型中定义了范围。如何获取该模型的所有范围的列表?
以前我可以使用Model.scopes
或者我可以检查范围是否定义?就像是Model.scope_defined?("scope_name")
提前致谢。
我正在使用带有 Rails 3 的 ActiveRecord。
我在模型中定义了范围。如何获取该模型的所有范围的列表?
以前我可以使用Model.scopes
或者我可以检查范围是否定义?就像是Model.scope_defined?("scope_name")
提前致谢。
您可以通过这种方式查看是否定义了范围
Model.send(:valid_scope_name?, :scope_name)
如果它确实存在,它会返回true
,如果它不存在nil
。
如果您检查 的源代码valid_scope_name?
,您会发现您可以使用它进行测试respond_to?
,然后避免使用日志记录部分。
Model.respond_to?(scope_name, true)