【发布时间】:2012-03-31 07:29:47
【问题描述】:
我的 rails 应用程序中有以下命名范围:
scope :published, :conditions => {:status => 'published'}
scope :coming_soon, :conditions => {:status => 'coming_soon'}
scope :in_development, :conditions => {:status => 'in_development'}
scope :cancelled, :conditions => {:status => 'cancelld'}
我在写一个结合了“已发布”和“即将梳理”的文章时遇到了麻烦。这是我尝试过的。
scope :public, :conditions => {"status == published || status == coming_soon"}
有什么想法吗?
【问题讨论】:
-
您想要 AND 还是 OR? IIRC
||是 OR。 -
我也对此感到困惑。问题说组合(听起来像'AND',但代码有||这是一个
OR。他们我注意到我们只是在看一个字段。一个字段不能同时是两个不同的值(可以'没有x = "A" AND x = "b"!) 所以它必须是OR,如:x = "a" OR x = "b" -
是的,这是我的想法——它必须是 OR。但无论哪种方式,下面的代码似乎都可以工作。
标签: ruby-on-rails ruby-on-rails-3 scope conditional-statements named-scope