2012-06-17 127 views
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"但它當然不起作用。

謝謝!

回答

1

它工作嗎?

review.send("avg_answer#{@count}").to_i 
+0

感謝這很簡單! – Abram

0

這應該爲你的情況下工作..
10.times.each {|x| review.send("avg_answer#{x}")} OR 10.times.each {| X | review.send( 「avg_answer#{X}」)}`

如果你預想到PARAMS傳遞給你的方法,你可以通過改變它: 10.times.each {|x| review.send("avg_answer#{x}",params1,params2)} OR 10.times.each {|x| review.send(:"avg_answer#{x}",params1,params2)}