0

嗨,我正在制作一个烹饪食谱应用程序,食谱有“评级”(一个整数)。我想让它为每 1 个评分点打印一个星(如果评分 = 4,则打印出 4 个星)。但是,我的循环没有打印出任何东西。任何人都可以帮助我应该如何循环它吗?

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

2 回答 2

1

循环的=前面不会按您期望的方式工作。像这样使用它:

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

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

于 2012-11-05T16:18:51.870 回答
1

声明的结果

5.times { "foo" } 

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

<% @recipe.rating.times do |i| %>
  <%= image_tag(locationofstarpic) %>
<% end %>
于 2012-11-05T16:18:54.690 回答