我正在使用 Ruby on Rails 3.2.2 和 Squeel gem。我想知道是否有一种方法可以使用多个范围方法,以便生成带有OR
与这些范围方法 SQL 条件相关的子句的 SQL 查询。也就是说,我有:
class Article < ActiveRecord::Base
def self.scope_method_1
... # scope_method_1 SQL conditions
end
def self.scope_method_2
... # scope_method_2 SQL conditions
end
def self.scope_method_combination
# I am looking for something like
#
# where{scope_method_1 | scope_method_2} # Note: The '|' means the SQL 'OR' clause in the Squeel context
#
# so to generate the following SQL query:
#
# SELECT FROM articles WHERE <scope_method_1 SQL conditions> OR <scope_method_2 SQL conditions>
end
end
是否可以使用范围方法生成 SQLOR
子句(通过使用或不使用 Squeel gem)?