我的API控制器接收的一個參數有一個很大的鍵名,我需要將它從字符串轉換爲整數(如果存在),然後將其發送到要保留的模型。通常我會做下列之一:Ruby/Rails中條件變量操作的快捷方式
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!
不存在字符串,這正是我所需要的。
我想說的替代方法是不可能存在的,因爲這會從'string'類型更改爲'number'。你總是可以使用[try](http://apidock.com/rails/v3.2.1/Object/try) –