-1

我想做这样的事情:

在控制器中:

res=1+3
if ...
flash[:notice]="the result is" + res
end

但是,我发现它不起作用,并且错误消息是这样的:

no implicit conversion of Fixnum into String
4

2 回答 2

2

您需要将其转换res为整数到字符串的变量:

flash[:notice]="the result is" + res.to_s
于 2014-04-27T08:58:55.680 回答
1

我会使用字符串插值来做到这一点:

flash[:notice] = "the result is #{res}"

这比串联(使用+)更好,因为:

  1. 它更快
  2. 如您所见,它会自动.to_s为您做
  3. 更少的打字(开发人员当然很懒惰)

有关更多详细信息和比较,请参阅此SO 问题

于 2014-04-27T09:39:06.800 回答