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>

それは私に「アクティブレコードの未定義のメソッド「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

ループ内でレコードのコレクションを参照しています。コレクションの 1 つの要素を参照するように変更します。

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