2012-02-15 15 views
0

カスタムバリデータを使用せずにこれを行う方法はありますか?特定のクラスのインスタンスである属性のRails検証

+0

私はこれについての検証が組み込まれているとは思わない。なぜカスタム検証を使用したくないのですか? – MrDanA

+0

私はそれらを使いたくないわけではありませんが、それは組み込み検証を保証するのに十分な状況だと思ったので、私はそれを確かめたいと思っていました。 BTW、これを回答として投稿し、他の誰かがこれと同じように疑問を持っている場合にも受け入れます。 –

答えて

0

OPの要求を1としては、ここで元の質問の下に短いコメント交換です。なぜカスタム検証を使用したくないのですか? - MrDanA 2月15日17:05

私はそれらを使いたくないとは思いませんが、それはビルドされたバリデーションを保証するのに十分な状況だと思っていました。私はこれを疑問に思っている人のために答えを投稿し、それを受け入れます - agente_secreto 20時間前

0

私はこの権利を理解しているかどうかわかりませんが、メソッド.classがそれをもたらすと思います。

Rubyのすべてがオブジェクトなので、使いやすいです。例えば

:私はこのために、検証に建てないと思います

"Test".class 
=> String 
+0

"Test" .is_a?(String) – miked

0

これはかなり古い質問ですが、私はこのようなことをする必要がありました。他の誰かが将来このようなことをする必要があった場合に備えて

私が必要としたのは、指定された属性がDateTimeかTimeかどうかをテストすることでした。これはカスタムクラス(ActiveRecordではなく)にありました。

私はこれで終わった:

class MyClass 

    attr_accessor :value 
    attr_reader :value_class 

    include ActiveModel::Validations 
    validates_inclusion_of :value_class, in: [DateTime, Time] 

    def value_class 
     @value.class 
    end 

end 

が、これは誰にもお役に立てば幸いです。

関連する問題