我有以下代码
'Performance' => {
'Date' => performance_values.date.strftime('%m/%d/%Y'),
'Ratio' => begin sprintf("%0.02f", performance_values.ratio) rescue nil end},
'Ratings' => {
'Overall' => performance_values.overall_rating,
'3-yr' => performance_values.3yr_rating}
有了'比率',它有时可能是零,所以我试图开始/拯救sprintf
函数,只是让它为零。
当它运行且performance_values.ratio
为nil时,我收到以下错误消息:
TypeError: can't convert nil into Float
答案 0 :(得分:2)
在内联时,您不需要指定begin
& end
。 Rails知道你正在拯救整条生产线。
试试这个:
'Performance' => {
'Date' => performance_values.date.strftime('%m/%d/%Y'),
'Ratio' => (sprintf("%0.02f", performance_values.ratio) rescue nil)},
'Ratings' => {
'Overall' => performance_values.overall_rating,
'3-yr' => performance_values.3yr_rating}