文字列属性がnilではないことを検証したいのですが、空の文字列を許可します。
次のように:
validates name: not_nil, allow_empty: true
回答:
回答№1は2あなたもすることができます:
validates :name, exclusion: { in: [nil] }
回答№2の場合は1
空の文字列を許可するが、アクティブなレコード検証コールバックでnilを拒否するには、条件付きプロシージャを使用して、nilでない場合に条件付きで属性の存在を要求します。
コードは次のようになります。
validates :name, presence: true, if: proc { name.nil? }
ただし、おそらくnullを許可する必要があります。その後、検証しないでください。コードにnilまたは空の文字列があるかどうかを確認してください。