我的API控制器接收的一个参数有一个大的密钥名称,我需要将它从字符串转换为整数(如果存在),然后再将其发送到要保留的模型。通常我会做以下其中一项:
params[:really_big_key_name] = params[:really_big_key_name].to_i unless params[:really_big_key_name].blank?
或
params[:really_big_key_name] = params[:really_big_key_name].present? ? params[:really_big_key_name].to_i : nil
正如您所看到的,代码行变得很大,超过80个字符,我想坚持使用Ruby最佳实践。是否有更短,更Ruby的方式来做同样的事情?也许"到位"方法。类似于数组的东西与爆炸方法有关。不幸的是,字符串不存在to_i!
,这正是我所需要的。
答案 0 :(得分:0)
你可以这样做:
params[:really_big_key_name] = params[:really_big_key_name].try(:to_i)