Rails:为循环的每个循环打印图像?

时间:2012-11-05 16:14:48

标签: ruby-on-rails

您好我正在制作烹饪食谱应用程序和食谱有“评级”(整数)。我想这样做,它打印出每1个评级点的一颗星(如果评级= 4,那么将打印出4颗星)。但是,我的循环没有打印出任何东西。任何人都可以帮我解决这个问题吗?

<div>
    <h4>Rating:</h4>
    <%= @recipe.rating.times{ |i| image_tag("star.jpg") } %>
</div>

2 个答案:

答案 0 :(得分:1)

循环前面的=将无法按预期方式运行。像这样使用它:

<div>
    <h4>Rating:</h4>
    <% @recipe.rating.times do |i| %>
        <%= image_tag(locationofstarpic) %>
    <% end %>
</div>

您也可以直接从内联块打印到repsonse,但不建议这样做。

答案 1 :(得分:1)

声明的结果

5.times { "foo" } 

是5,而不是块里面的任何东西。所以你需要的是:

<% @recipe.rating.times do |i| %>
  <%= image_tag(locationofstarpic) %>
<% end %>