如何从结果中获取一个字段的值?这是我到目前为止所得到的:
当我使用row [8]时,这给了我正确的值:
<% @result.each{|row| %>
<tr>
<% row.each{|key| %>
<td><%= key %></td>
<% } %>
<td><%= row[1] %></td>
</tr>
<% } %>
但是,我正在尝试按列名获取值。使用row [“the_column_name”]似乎不起作用,因为它返回“无法将String转换为整数”。我认为这是错误的,因为这是一个数组。如何通过引用列名来获取值?
答案 0 :(得分:0)
如果您的@result
数组是ActiveRecord搜索的结果,它将是一个对象数组,其中各个对象通常为数据库表的行建模。您可以使用.
访问器后跟字段名来访问单个对象的属性(即行的字段):
<% @result.each{|row| %>
<tr>
<td><%= row.fieldname1 %></td>
<td><%= row.fieldname2 %></td>
</tr>
<% } %>
将fieldname1和fieldname2替换为您要显示的字段的名称。