gpt4 book ai didi

ruby - 如何获取 ActiveRecord 3.x 中的所有范围列表

转载 作者:数据小太阳 更新时间:2023-10-29 06:54:20 24 4
gpt4 key购买 nike

我在 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)

关于ruby - 如何获取 ActiveRecord 3.x 中的所有范围列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12616175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com