所以我从来不知道在这里该做什么。
假设你有订单,是哪个has_one成员。
如果在关联成员已被删除的情况下调用my_order.member.first_name,则可能会出现nilClass错误。我可以做my_order.member.try(:first_name)..但这似乎是一种愚蠢的变通办法。我不想到处尝试。
我读过这篇关于空对象的文章:http://robots.thoughtbot.com/post/8181879506/if-you-gaze-into-nil-nil-gazes-also-into-you
好东西。但我认为rails在这方面有一些方便的东西,因为它很常见。而不是编写您自己的自定义nilClass或其他东西。
发布于 2011-10-20 09:48:08
您可以使用delegate,最终使用的是my_order.first_name
https://stackoverflow.com/questions/7830198
复制相似问题