有没有一种干净的方法可以避免在嵌套的 params 哈希中调用 nil 上的方法? [英] Is there a clean way to avoid calling a method on nil in a nested params hash?
本文介绍了有没有一种干净的方法可以避免在嵌套的 params 哈希中调用 nil 上的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对获取 params 哈希的嵌套名称"参数很感兴趣.调用类似
I'm interested in getting the nested 'name' parameter of a params hash. Calling something like
params[:subject][:name]
当 params[:subject] 为空时抛出错误.为了避免这个错误,我通常这样写:
throws an error when params[:subject] is empty. To avoid this error I usually write something like this:
if params[:subject] && params[:subject][:name]
有没有更简洁的方法来实现这一点?
Is there a cleaner way to implement this?
推荐答案
检查 Ick's 也许.您不需要显着重构您的代码,只需在必要时穿插可能代理:
Check Ick's maybe. You don't need to significantly refactor your code, just intersperse maybe proxies when necessary:
params[:subject].maybe[:name]
同一作者(raganwald)还写了andand,有同样的想法.
The same author (raganwald) also wrote andand, with the same idea.
这篇关于有没有一种干净的方法可以避免在嵌套的 params 哈希中调用 nil 上的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文