2011-10-20 6 views
0

ここで何をすべきかわかりません。Rails Associations、nilClass、try、Demeterの法則

あなたにはhas_oneメンバーの注文があるとします。

say、my_order.member.first_nameという名前のメンバーが削除されている場合は、nilClassエラーが発生します。私はmy_order.member.try(:first_name)を行うことができます..しかし、それはちょっとした回避策のようです。私はどこでも試してみたいと思っていません。

[この記事を読む] Nilオブジェクトについて:http://robots.thoughtbot.com/post/8181879506/if-you-gaze-into-nil-nil-gazes-also-into-you

良いもの。しかし、レールは自分のカスタムnilClassや何かを書くのではなく、とても一般的なので、これには便利なものがあると思います。

+0

[この質問](http://stackoverflow.com/questions/7789314/rails-activerecord-how-can-i-make-this-moreで終わります-concise/7789348#7789348)もこの問題に対処しています。 –

+0

注文書に関連する会員がいない場合、それは問題ないと思いますか? – Eric

答えて

1

あなたはdelegateを使用することができ、あなたはmy_order.first_name

関連する問題