【发布时间】:2011-04-08 01:37:33
【问题描述】:
如何在 Rails 3 ActiveRecord 中进行 OR 查询。我发现的所有示例都只有 AND 查询。
编辑:OR 方法从 Rails 5 开始可用。请参阅 ActiveRecord::QueryMethods
【问题讨论】:
-
学习 SQL。 ActiveRecord 使事情变得容易,但您仍然需要知道您的查询在做什么,否则您的项目可能无法扩展。我还认为我不必处理 SQL 也能过得很好,但我错了。
-
@ryan0,你说得对。我们可能会使用花哨的gem和其他东西,但是我们应该知道这些gem在里面做什么以及底层技术是什么,如果需要的话,可能会在没有gem的帮助的情况下使用底层技术,以便表现。创建 Gem 时会考虑到特定数量的用例,但在某些情况下,我们项目中的用例之一可能会有所不同。
-
从 Rails 5 开始,恕我直言,接受的答案应该是 Greg Olsen 版本:
Post.where(column: 'something').or(Post.where(other: 'else')) -
这个问题的标签是ruby-on-rails-3。为什么接受的答案只与 Rails 5 相关?
标签: ruby-on-rails ruby-on-rails-3 rails-activerecord