undefined method `call’ エラー

 rails3のコードをrails4で実行したときに下記のようなエラーが出たときの対処法です。

undefined method `call' for #<User::ActiveRecord_Relation:0x007ffadb540aa0>

app/models/xxx.rb

scope :published, where(:is_active => true)

対処法

 以下のようにlambdaでコードを修正するとエラーが改善します。

scope :published, lambda { where(:is_active => true) }

 下記の記述も可能らしい。

scope :published, -> { where(:is_active => true) }

参考サイト

 Rails 4 – undefined method `call’ when doing a simple query – Stack Overflow

 Model に関する変更点 | TECHSCORE(テックスコア)