ruby on rails:奇怪的数组输出

时间:2013-11-28 20:44:52

标签: ruby-on-rails ruby

我的观点中包含此代码

<%= @quotes.each do |f| %>
   <%=f[:underwriter]%>: £<%=f[:premium]%>
   <br>
<% end %>

在我的控制器中,我传递了参数

 @quotes = [{underwriter:"dtc",premium:500},{underwriter:"abc",premium:800}]

我希望它能打印出承保人和保险费,但它会因为某种原因在最后标记整个阵列。如下所示

dtc: £500 
abc: £800 
[{:underwriter=>"dtc", :premium=>500}, {:underwriter=>"abc", :premium=>800}]

任何人都可以启发我导致这种行为的原因是什么?

1 个答案:

答案 0 :(得分:2)

只做

<% @quotes.each do |f| %>
   <%=f[:underwriter]%>: £<%=f[:premium]%>
   <br>
<% end %>

Array#each - 为self中的每个元素调用给定的块一次,将该元素作为参数传递。当iteartion完成时,返回self<%= %>将标记内的内容打印到erb文件中,而<% %>在括号内执行ruby代码。

同时检查一个Rails, ERB syntax