2016-01-16 3 views
1

Как я могу записать эти две области в одном, с OR. Как любой из них может быть правдой.Ruby on rails scope как OR

scope :search_language, lambda {|y| where(["language LIKE ?", "#{y}"])} 
scope :search_published, lambda {|y| where(["published LIKE ?", "#{y}"])} 
+0

можно добавить как 'рамки : search_language_or_published, lambda {| y | где (["язык Like? или опубликованный Like?", "# {y}", "# {y}"])} ' – Sasidaran

ответ

0

Можно объединить два в одном запросе как:

scope :language_or_published, lambda { |y| where('language like ? or published like ?', y, y) } 

или более новой форме лямбда (пост ruby1.9):

scope :language_or_published, ->(y){ where('language like ? or published like ?', y, y) }