如何使用 Arel(大概)创建一个不影响 Rails 3 中查询的 ActiveRecord 作用域?
本质上,我正在寻找一种无操作类型的关系来应用于范围链。
假设我有一个范围链:
Post.approved.published.all
现在,出于调试目的,我希望使 published
范围不执行任何操作,以便该链仅返回 approved
帖子,无论它们是否发布
。
我会在以下方法中返回什么:
def self.published
# what to return?
end
Essentially I am looking for a no-op type of relation to apply to a chain of scopes.
Lets say I have a chain of scopes:
Post.approved.published.all
Now, for debugging purposes, I wish to make the published
scope do nothing at all, so that the chain will only return approved
posts, regardless of whether they are published
or not.
What would I return in the following method:
def self.published
# what to return?
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将
published
设为all
的别名,或使用 < code>scoped 返回一个可以链接附加条件的关系:我会使用一个范围,返回
all
...或者,使其成为
的别名>范围
:Make
published
an alias forall
, or usescoped
to return a relation to which additional conditions can be chainged:I would use a scope, returning
all
...or, make it an alias for
scoped
: