2012-04-17 15 views
0

何かの理由で、herokuでレールアプリが動作していますが、次のスコープが原因でPSQLにエラーが発生します( 'rating'は整数です)。PSQL Railsでエラーが発生するNullスコープが発生するアプリケーション

scope :rated, where("posts.rating <>''") 

自然に私は以下のすべてを試しました。これらはエラーは発生しませんが、評価値がnullの投稿はまだ表示されます。事前に

scope :rated, where("posts.rating IS NOT ?", nil) 
scope :rated, where("posts.rating > 0") 
scope :rated, where("posts.rating IS NOT NULL") 

ありがとう!

答えて

1

どのように組み合わせるのですか?

scope :rated, where("posts.rating IS NOT NULL AND posts.rating > 0") 
+0

をSQLがこれによって生成されるいただきました!ぐふはまだブランク値 – BTHarris

+0

@BTHarrisで記事を返しますか? –

1

上記のあなたの第三の選択肢は、標準PSQLのために働く必要がありますが、あなたも試すことができます。

posts.rating <> NULL or 
posts.rating NOTNULL 
+1

そしてそれらをNULLIF関数と組み合わせることができます:NULLIF(posts.rating、0)NOTNULL –

関連する問題