我有以下内容:
:caption => thread.thread_widgets.first.widgetable.title
如果线程有一个可选的 thread_widget,那工作正常。鉴于它是可选的,如果线程没有 thread_widgets,则此错误为
undefined method `widgetable' for nil:NilClass
有没有一种方法可以使用 try(),这样错误就不会终止页面?
谢谢
最佳答案
:caption => (o = thread.thread_widgets.first) && o.widgetable.title
但是你要求 Object#try,
所以:
:caption => thread.thread_widgets.first.try(:widgetable).try(:title)
关于ruby-on-rails - Rails - 如何对嵌套记录使用 TRY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6600598/