Rails Associations、nilClass、try 和 Demeter 定律
所以我永远不知道在这里做什么。
假设您有订单,其中有一个成员。
如果您调用 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?
好东西。但我认为 Rails 有一些方便的东西,因为它很常见..而不是编写您自己的自定义 nilClass 或其他东西。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用委托,然后您就结束了与
my_order.first_name
You can use delegate, and you end up with
my_order.first_name