我从控制器中该片段的最后一行获取nill的未定义方法
@showday = params["showdate(3i)"]
@showmonth = params["showdate(2i)"]
@showmonth_int = @showmonth.to_i
@showmonth = Date::MONTHNAMES[@showmonth_int]
@showyear = params["showdate(1i)"]
@showdate = @showmonth << " " << @showday << ", " << @showyear
答案 0 :(得分:0)
您可以在这里使用Hash#fetch
@showday = params.fetch('showdate(3i)', '')
@showmonth = Date::MONTHNAMES[params.fetch('showdate(2i)', 0).to_i]
@showyear = params.fetch("showdate(1i)", '')
@showdate = @showmonth << " " << @showday << ", " << @showyear
答案 1 :(得分:0)
您可以尝试使用字符串插值,类似这样
@showdate = "#{@showmonth} #{@showday}, #{@showyear}"
你只需要插入#{}任何ruby代码并打印到字符串中,这是一种更好,更简单的方法来连接&#34;一个字符串