0

我是 Ruby on Rails 的新手。

在控制器中

@academic_record = AcademicDetailWeb.where(:term => @sel_term, :sysid=>session[:user_credentials_sysid])

在视图中

<table>
    <tr>
        <th>CRN</th>
    </tr>
    <%@academic_record.each do |a|%>
        <tr>
            <td>
                <%= @academic_record.crn %>
           </td>
        </tr>
    <%end%>
</table>

它给了我“用于 activerecord 的未定义方法‘crn’”

我试着用

@academic_record.first.crn

它有效,但只显示第一条记录

我怎样才能将其修改为多行记录?

4

2 回答 2

0

@academic_record 是根据您的条件收集的学术详细信息,在每个集合中,每个数据都包含 crn 属性..crn 是该集合的每个成员的属性,而不是整个集合,这就是您使用 @academic_record 时的原因。 first.crn 它给出了该集合中第一个元素的 crn ,当您使用 @academic_record.crn 它为您提供未定义的方法时,因为整个集合没有任何 crn 属性,所以您应该执行类似的操作

<% @academic_record.each do |ar|%>
  <%= ar.crn %>
<% end %>
于 2013-11-04T08:44:25.653 回答
0

您指的是循环内的记录集合。将其更改为引用集合的一个元素:

<% @academic_record.each do |a|%>
  <%= a.crn %>
<% end %>
于 2013-11-04T08:44:36.640 回答