2017-04-05 40 views
11
class User 
    scope :active, -> { where(active: true) } 
end 

Running rubocop ilişkilendirilecek yapmak param aşağıdaki uyarıyı alıyorum:Parenthesize emin blok yöntemi çağrısı

Parenthesize param -> { where(active: true) } emin olmak için blok ile ilişkilendirilecek o -> yöntem çağrısı.

En ufak bir ipucum yok, scope tanımlamamın bu uyarı ile ne ilgisi var. Yapıyor musun?

Şu an bir anlam ifade etmediğinden, denetimi kapatmak dışında uyarıyı nasıl düzeltirim?

cevap

16

O bunu istiyor:

scope :active, (-> { where(active: true) }) 

Daha İyi uyarı :) Bu stabby lambda sözdizimi mükemmel gayet

kapatmak için. Belki eski rubocop versiyonun var mı?

Güncelleme:, 0.49.0'de düzeltildi. Benim için

+0

Hayır, en yeni sürüme sahibim (3 Nisan - 0.48.1 arası). 8 dakika içinde kabul eder :) –

+5

Fix, rubocop master'da [zaten birleştirilmiş] (https://github.com/bbatsov/rubocop/pull/4237), yakında yeni sürümü kontrol edin :) – Ilya

+0

Bu uyarıyı nasıl kapatabilirim? ? Bunu düzeltmek için ne .rubocop.yml koymalıyım? – knagode

3

gem update rubocop çalıştı.

+0

Bu, ilgili olduğum sürece doğru cevap – ringe