0

我希望通过以下循环输出 review.avg_answer2、review.avg_answer3 等:

  <% @count = 1 %>
  <% 10.times do |x| %>
    <td><%= link_to review.avg_answer1.to_i, "#" %></td>
    <% @count += 1 %>
  <% end %>   

我知道有一个简单的答案,但它并没有击中我。

我试过"review.avg_answer#{@count}.to_i"了,但它当然不起作用。

谢谢!

4

2 回答 2

1

行得通吗?

review.send("avg_answer#{@count}").to_i
于 2012-06-17T08:46:18.760 回答
0

这应该适合你的情况..
10.times.each {|x| review.send("avg_answer#{x}")} OR10.times.each {|x| review.send(:"avg_answer#{x}")}`

如果您设想将参数传递给您的方法,那么您可以通过以下方式对其进行更改: 10.times.each {|x| review.send("avg_answer#{x}",params1,params2)} 或者10.times.each {|x| review.send(:"avg_answer#{x}",params1,params2)}

于 2012-06-17T10:28:39.540 回答