如何从ActiveRecord模型中提取常见的named_scope
我有named_scope,它在多个ActiveRecord 模型中重用。 例如:
named_scope :limit, lambda {|limit| {:limit => limit}}
提取此代码以在模型之间共享的最佳实践是什么。 是否可以将其提取到模块中,或者我应该重新打开 ActiveRecord::Base 类?
I have named_scope which is reused in multiple ActiveRecord models.
For example:
named_scope :limit, lambda {|limit| {:limit => limit}}
What is the best practice to extract this code to be shared across models.
Is it possible to extract it to a module or should I rather reopen ActiveRecord::Base class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用模块。 像这样的东西应该可以工作:
然后只需包含 CommonScopes 就可以了。
Use a module. Something like this should work:
Then just include CommonScopes and you'll be good to go.
@Matt 通过 instance_eval,@see 通过模块共享作用域?
@Matt via instance_eval, @see Shared scopes via module?