2016-03-28 22 views
0

sorgusu dahil sorgu kullanımının içerdiği Rails 4 application kullanıyorum.YA DA hata durumunda, Rails 4

Query: @courses = Course.includes(:translations).unpublished_status 

unpublished_status'un içeriği burada bulunur. (Aşağıya bakınız):

scope :unpublished, -> { where(published: false) } 
scope :status, -> { where.not(status: 'active') } 
scope :unpublished_status, -> { unpublished.where.or(status)} 

i çalıştırmak kod sonra hata altına aldı: Gerçek sorun bulunduğunda vermedi edilir

NoMethodError at /api/v1/unpublished_courses 
============================================ 

> undefined method `or' for # 
<Globalize::ActiveRecord::QueryMethods::WhereChain:0x007fe05dbc70d8> 

. Herhangi birinin onun hakkında bir fikri var.

Teşekkür

+0

'where.or' Rails 4'te bulunmuyorsa, şunları kullanabilirsiniz:' scope: unpublished_status, -> {yayımlanmamış || Durum} ' –

cevap

1

where.or is available only in rails 5 you can check this link .

için 'OR' Yapabileceğiniz kapsamları:

scope :unpublished_status, -> { unpublished || status} 
    **OR** 
Course.where('published = ? OR status != ?', false, 'active') 
0
undefined method `or' for # 
<Globalize::ActiveRecord::QueryMethods::WhereChain:0x007fe05dbc70d8> 

o

or method kullanılamadığı anlamına gelir undefined methodActiveRecord::QueryMethods::WhereChain: için söylediği gibi. Bu or_scopes.rb'u düzeltmek için VEYA sizin kapsamlarınızı da elde edebileceksiniz.

Bu yardımcı olur umarım !!!