Ruby on Rails Loop需要帮助

时间:2013-01-13 15:32:04

标签: ruby-on-rails ruby loops

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

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

the_number = number_with_precision(product.no_of_stars,:precision => 0)为我提供该产品的平均星级评分。我可以在index.html.erb页面上显示数字(例如4),但在我的生命中不能让它为每个数字(而不是数字)呈现星形jpg。

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

SO ... 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标记中。您还可以假设评级“系统”正常工作。

非常感谢任何帮助: - )

由于

3 个答案:

答案 0 :(得分:0)

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

你可以追加时间并继续循环

,例如

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试将the_number转换为整数:

the_number.to_i

然后您应该可以在其上调用times