0

嗨,所以我试图在网站上显示星级到目前为止,我已经以数字的形式获得了评级,但是我想乘以这个数字并使用循环或类似的方式显示等量的星星,即如果评级是 4 然后 4 星图片打印出来,有什么想法吗?

到目前为止我的代码...

number_with_precision(product.no_of_stars, :precision => 1) // 这行打印出数字 ans 工作得很好

我试图做这样的事情......

product.no_of_stars.times 做 |i| image_tag("/images/star.jpg") 结束

但它一直说“#的未定义方法`times'”

4

2 回答 2

0

我认为这是因为您product.no_of_stars正在返回一个浮点数,而只有整数(或者可能是 Fixnums)可以响应times; 如果您对忽略任何分数感到满意,您可以尝试:

product.no_of_stars.to_i.times do ...

或者,如果您总是想要一个整数,那么也许将您的数据库更改为使用整数列?

否则,使用 javascript 进行星级评定可能会更好;一个快速的谷歌会给你很多结果。

于 2013-01-13T18:58:26.067 回答
0

Ryan Bates 在此 Railscast http://railscasts.com/episodes/101-refactoring-out-helper-object中详细介绍了如何执行此操作

于 2013-01-13T19:39:13.870 回答