任意の文字列を許可するが nil は許可しないアクティブ レコード検証を作成しようとしています。
validates_presences_of の問題は、有効と見なしたい "" または " " に対して false を返すことです。
また、 validates_length_of :foo, :minimum => 0 を実行しようとしましたが、機能しませんでした
また、validates_length_of :foo, :minimum => 0, :unless => :nil? を実行しようとしました。これも機能しませんでした。これらはどちらも nil 値を設定でき、検証は引き続き true を返します。
ここで何か不足していますか?要素が nil ではないことを単純に検証するのは、それほど難しいことではないと思います。