Rails - 通过指定列名来获取值

时间:2010-11-11 04:35:40

标签: ruby-on-rails

如何从结果中获取一个字段的值?这是我到目前为止所得到的:

当我使用row [8]时,这给了我正确的值:

<% @result.each{|row| %>
   <tr>
     <% row.each{|key| %>
       <td><%= key %></td>
     <% } %>
       <td><%= row[1] %></td>
   </tr>
<% } %>

但是,我正在尝试按列名获取值。使用row [“the_column_name”]似乎不起作用,因为它返回“无法将String转换为整数”。我认为这是错误的,因为这是一个数组。如何通过引用列名来获取值?

1 个答案:

答案 0 :(得分:0)

如果您的@result数组是ActiveRecord搜索的结果,它将是一个对象数组,其中各个对象通常为数据库表的行建模。您可以使用.访问器后跟字段名来访问单个对象的属性(即行的字段):

<% @result.each{|row| %>
   <tr>
       <td><%= row.fieldname1 %></td>
       <td><%= row.fieldname2 %></td>
   </tr>
<% } %>

将fieldname1和fieldname2替换为您要显示的字段的名称。