页面上出现意外的数组输出

Unexpected array output on page

我列出了特定数据库 table table 的一组数据(为简单起见,只是标识列)如下:

<%= @fields.select{|field| field.model=="PreferredOffering"}.each do |field| %>
    <%= field.id %>
    <br/>
<% end %>

您可能已经从上面了解到,我正在使用 selecteach 的组合来仅迭代列 model 包含字符串 [=15= 的行].

我的期望是我会看到一个有序的数字列表,而我确实看到了。我感到困惑的是,我还看到整个 @fields 数组在数字列表下方遍布整个页面。 (见下文html节选)

106
<br/>

107
<br/>

108
<br/>

109
<br/>

110
<br/>

111
<br/>

112
<br/>
[#&lt;PreferredOfferingField id: 5, field_heading: &quot;Anti-dilution provisions- Typical Weighted Average&quot;, category: &quot;Anti-Dilution&quot;, intra_cat_order: 1, model: &quot;P

我猜我是在用 select 做一些有趣的事情,因为我不太熟悉它的用法。

任何关于如何解决这个问题的想法都将不胜感激;提前致谢。

<% %> 执行里面的Ruby代码

<%= %> 打印结果

您正在显示数组,然后显示它的值,因此您需要将 <%= %> 更改为 <% %>

<%= @fields.select{|field| field.model=="PreferredOffering"}.each do |field| %>

<% @fields.select{|field| field.model=="PreferredOffering"}.each do |field| %>