0

在过去的 12 个小时里,我一直试图找到解决这个问题的方法,我只需要承认失败并提出问题......

我目前正在开展一个项目,该项目涉及向产品添加开始评级功能。

the_number = number_with_precision(product.no_of_stars, :precision => 0)给了我产品的平均星级。我可以在 index.html.erb 页面上显示数字(例如 4),但我无法让它为每个数字(而不是数字)呈现星形 jpg。

我知道 <%= 和 <% 等之间的区别,但是因为这是我的第一篇文章,我无法复制和过去我使用过的代码:-(

所以... the_number (例如)会给我 4,但是我的 index.html.erb 文件中的以下循环构造不断抛出错误读取

undefined method“4”的次数:ActiveSupport::SafeBuffer`

the_number.times do 
img src="my-image.jpg" alt=""
end

我知道上面的代码片段没有包含在正确的标签中,但如前所述,它也不允许我这样做。请假设第 1 行和第 3 行包含在没有“=”的 ruby​​ 标记中,并且图像包含在相关的 html img 标记中。您还可以假设评级“系统”正常工作。

任何帮助将不胜感激 :-)

谢谢

4

3 回答 3

0

尝试转换the_number为整数:

the_number.to_i

然后你应该可以调用times它。

于 2013-01-13T15:38:39.927 回答
0
the_number.to_i.times do
  img src="my-image.jpg" alt=""
end
于 2013-01-13T15:37:39.397 回答
0

<%= ... Integer(expression resulting in 4) %>为你工作吗?

为此,您可以附加时间并继续循环

Integer(the_number).times do
img src="my-image.jpg" alt="" 
end
于 2013-01-13T15:36:35.827 回答