2012-03-20 7 views
0

は、私は次のコードを持っている。実行ブロックエラー

を\ example_19.rb ./example_19.rb:4:in block in attr_checked': Invalid attribute (RuntimeError) from ./example_19.rb:23:in '

どうすれば修正できますか?

+0

あなたが望むものを正確に行っていませんか?あなたはその年齢が> 18であることを検証しています。そして、あなたは年齢10を使用し、例外が発生します。驚くべきことは? –

答えて

1

これは実際にあなたのコードが求めるものを正確に実行しています。

attr_checkedメソッドは、ブロックがtrueと評価された場合にのみtrueを返します。あなたのブロックは、年齢が18

attr_checked :age do |v| 
     v >= 18 
end 

あなたはこの線に沿っ年齢= 10、このブロックがfalseを返すと「無効な属性」エラーが返されるセット以上の場合にのみtrueを返します。

raise 'Invalid attribute' unless validation.call(value) 
関連する問題