2013-11-04 3 views
0

Ruby on Rails를 처음 사용했습니다. 뷰 컨트롤러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 

을 사용하려 작동하고 첫 번째 레코드 만 표시합니다.

어떻게 여러 행 레코드가되도록 수정할 수 있습니까?

답변

0

루프 내부에서 레코드 컬렉션을 참조하고 있습니다. 컬렉션의 한 요소를 참조하도록 변경하십시오.

<% @academic_record.each do |a|%> 
    <%= a.crn %> 
<% end %> 
0

@academic_record는 조건에 따라 학업 정보를 수집하며 각 데이터에는 crn 속성이 포함되어 있습니다 .crn은 컬렉션 전체가 아니라 컬렉션의 각 구성원의 속성입니다. @ academic_record.first.crn을 사용하면 해당 컬렉션 내의 첫 번째 요소가 crn으로 나타나고 @ academic_record.crn을 사용하면 정의되지 않은 메서드가 나타납니다. 컬렉션의 crn 특성이 없으므로

과 같은 작업을 수행해야합니다.
<% @academic_record.each do |ar|%> 
    <%= ar.crn %> 
<% end %>