首页 / 知识
关于 ruby?? on rails:有没有办法将命名范围组合成一个新的命名范围?
2023-04-13 07:03:00

Is there a way to combine named scopes into a new named scope?我有
我想要
但我更愿意以 DRY 的方式进行。我可以通过使用 获得相同的效果
但它不是特别可爱。 至少从 3.2 开始有一个聪明的解决方案:
好吧,我对 Rails 还是很陌生,我不确定你到底想要什么,但如果你只是为了代码重用,为什么不使用常规的类方法呢?
您可以通过使用 *args 而不是 a 和 b 来使其更灵活,然后可能使其中一个或另一个可选。如果你被困在 named_scope 上,你不能扩展它来做同样的事情吗? 如果我对你想做的事情完全不满意,请告诉我。 是重用named_scope来定义另一个named_scope 为了您的方便,我把它复制在这里: 您可以使用 proxy_options 将一个 named_scope 回收到另一个中:
这样它可以与其他named_scopes链接。 我在我的代码中使用了它,它运行良好。 希望对你有帮助。 通过将其设为类方法,您将无法将其链接到关联代理,例如:
另一种方法是应用此补丁来启用 named_scope: 的 :through 选项
退房: http://github.com/binarylogic/searchlogic 令人印象深刻! 具体来说:
@PJ:你知道,我曾考虑过这一点,但因为我认为我以后无法像这样链接第三个命名范围,所以将其驳回:
但由于 |
最新内容
相关内容
Python重命名和删除文件
Python重命名和删除文件,培训,文件,方法,文件名,语法,模块,例子,参数,以上,两个,python的os模块提供了帮你执行文件处理操作的方法,比如重命名python 命名关键字参数
python 命名关键字参数,位置,参数,名字,培训,关键字,函数,后面,定义,方式,上面,对于关键字参数,函数的调用者可以传入任意不受限制的关键字参Python 命名空间的访问
Python 命名空间的访问,名字,培训,模块,空间,函数,示例,变量,局部,全局,语句,1、局部命名空间可以locals()BIF来访问。locals返回一个名字/值python怎么让python创建日期命名文
python怎么让python创建日期命名文件,名称,时间,培训,环境,代码,世纪,公式,适当,日期,格式,1、python可以使用open函数来创建命名文件。2、pypython组合数据类型分为哪几类?
python组合数据类型分为哪几类?,培训,数据类型,python函数如何命名
python函数如何命名,培训,函数,单词,以上,更多,内容,python中函数的命名规范函数名一律小写,如有多个单词,用下划线隔开defrun():passdefrupython匿名函数的命名规则
python匿名函数的命名规则,培训,有限,主体,包装,全球,函数,个数,规则,表达式,参数,python匿名函数的命名规则1、lambda函数体比def简单得多。python命名关键字参数的使用注意
python命名关键字参数的使用注意,位置,培训,参数,关键字,函数,后面,定义,以上,教程,更多,python命名关键字参数的使用注意1、如果函数定义中python命名关键字参数有什么用?
python命名关键字参数有什么用?,名称,信息,培训,参数,关键字,传达,函数,实例,定义,以上,python命名关键字参数有什么用?1、说明*,nkw表示命名有没有办法使用Linq到Oracle
有没有办法使用Linq到Oracle,有没有办法使用Linq到Oracle,数据库,错误,查询,运行,Is there a Way to use Linq to Oracle我可以将Dat关于继承:有没有办法使构造函数仅对
关于继承:有没有办法使构造函数仅对C#中的父类可见?,关于继承:有没有办法使构造函数仅对C#中的父类可见?,抽象类,类继承,抽象,集合,Is ther有没有办法使Firefox忽略无效的ssl
有没有办法使Firefox忽略无效的ssl证书?,有没有办法使Firefox忽略无效的ssl证书?,无效,质量保证,维护,应用程序,Is there a way to mak