1

次の行を使用したWebページでの作業:

Model.select(:column).where("column IS NOT NULL")

たとえば、ハッシュを使用するなど、これを行うためのよりRailsっぽい方法があるかどうか疑問に思っていました

Model.select(:column).where(column: !nil)
4

3 に答える 3

3

Squeel gemでは!= nil 型の構文を使用できますが、レールはネイティブでは使用できません。

例:Model.where{column != nil}

于 2013-06-19T23:44:40.077 に答える
1

読みやすく、後で管理しやすいスコープを使用することをお勧めします(他のスコープとのマージなど)。

class Model < ActiveRecord::Base
  scope :not_null, lambda { |column|
   {:select => column,
    :conditions => "#{column} NOT NULL"
    }
  }
end

次に使用します

Model.not_null("column_name")
于 2013-06-20T01:07:58.733 に答える
0

Rails 4では、これを行うことができます:

Model.select(:column).where.not(column: nil)
于 2013-06-20T05:37:43.210 に答える