如何解决如何返回一个空的 ActiveRecord 关系?
Rails 4 现在有一个“正确”的机制:
>> Model.none
=> #<ActiveRecord::Relation []>
解决方法
如果我有一个带有 lambda 的范围并且它需要一个参数,这取决于参数的值,我可能知道不会有任何匹配项,但我仍然想返回一个关系,而不是一个空数组:
scope :for_users,lambda { |users| users.any? ? where("user_id IN (?)",users.map(&:id).join(',')) : [] }
我真正想要的是一个“无”方法,与“全部”相反,它返回一个仍然可以链接的关系,但会导致查询被短路。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。