问题描述
||
在Rails中,如果我测试嵌套参数并且没有分配:parent,它将抛出错误。因此,例如
params[:page][:childpage][:grandchildpage].present?
如果没有:page或:childpage,则会抛出\'您有一个nil对象,您没想到它\'。同样,
demopage = @page.childpage.grandchildpage.present?
抛出类似的东西。
不敢露脸的解决方案是一堆嵌套的if语句,这显然不够好。因此,问题是...如果父元素为空,则返回false而不是抛出错误的标准(优雅)方式是什么?一种救援方法,还是有更好的方法?
我想这很普遍,只是想知道标准解决方案是什么。
干杯...
解决方法
对于第二个,您可以使用和语句。
demopage = @page &&
@page.childpage &&
@page.childpage.grandchildpage &&
@page.childpage.grandchildpage.present?