2010-12-29 2 views
3

私はRailsアプリケーションでcompos_ofを使いたいと思っています。それは、生のデータベースデータから素晴らしい問題空間オブジェクトを作成するのに役立ちます。ActiveRecordクラスのcompos_ofを検証する方法は?

私は問題はありますが、それを検証するにはどうすればいいですか、理想的には自動記録ActiveRecordの方法を使用していますか?

生データの検証では不十分ですが、オブジェクトが複雑すぎることが多く、意味のある情報(合成オブジェクトの近く)をユーザーに報告したい場合があります。

私はこれを見つけました:http://www.stephenchu.com/2008/05/rails-composedof-validation.htmlしかし、それは非常にエレガントまたはRailsのように見えません。

答えて

0

は、なぜあなたは(私のアプリケーションの1から例)これを行うことはできません:それは具体的な例なしに、あなたの問題へのより多くの洞察力を与えるのは難しい

composed_of :cents_cost_amount, 
      :class_name => "Money", 
      :mapping => [%w(cents_cost_amount cents), %w(currency currency_as_string)], 
      :constructor => Proc.new { |cents, currency| Money.new(cents || 0, currency || Money.default_currency) }, 
      :converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, "Can't convert #{value.class} to Money") } 

validates :cents_cost_amount,    
      :numericality => {:greater_than_or_equal_to => 0, 
          :less_than_or_equal_to => 1000000, 
          :message => "Only amounts in the range 0 to 10000.00 are allowed." }  

関連する問題