2013-04-11 3 views
0

레코드를 만들고 편집 할 수있는 레일 앱이 있습니다. 새로운/create 액션을 사용할 때 잘 작동하는 데이터를 입력하는 양식을 만들었습니다. 그것은 아무 문제없이 기록을 만들 것입니다. 하지만 편집 동작을 누르면 NilClass : Class에 대한 정의되지 않은 메서드 인 'model_name'이 표시됩니다.NilClass에 대한 정의되지 않은 메소드 'model_name': 편집 양식의 클래스

이것이 무엇을 의미하는지 모르겠습니다. 누군가 나에게 손을 줄 수 있습니까?

형태 :

<%= form_for(@patient) do |f| %> 

<%= f.label :Patient_Last_Name %> 
<%= f.text_field :patient_last %> 
<%= f.label :Patient_First_Name %> 
<%= f.text_field :patient_first %> 
<%= f.label :Patient_DOB %> 
<%= f.date_select :patient_dob %> 

<%= f.label :Primary_Diagnosis %> 
<%= f.collection_select(:diagnosis_id, Diagnosis.all, :id, :diagnosis_name)%></br> 
<%= f.label :Primary_Physician %> 
<%= f.collection_select(:physician_id, Physician.all, :id, :physician_name)%></br> 
<%= f.button :submit %> 
<% end %> 

보기 코드 :

<td><%= link_to 'Edit', edit_patient_path(patient), :class => 'btn btn-close btn-mini'%></td> 

컨트롤러 코드 :

def edit 
    @patient = Patient.find(params[:id]) 
    end 

편집보기 :

<%= render 'form' %> 

부분 렌더링을 양식에서 제거하면 URL이 올바른 경로/URL로 이동합니다. 하지만 양식 부분이 렌더링 될 때 그 오류가 계속 발생합니다.

+0

그래서 @ patient.inspect를 사용하여 뷰에서 변수를 출력했는데 아무 것도주지 않았습니다. 브라우저가 올바른 URL/레코드를 가리 킵니다. 레코드에는 모두 데이터가 들어 있습니다. 그것은 컨트롤러가 적절하게 변수를 할당하지 않는 것과 같지만 그 이유는 확실하지 않습니다. – nulltek

답변

0

내 컨트롤러에 편집 작업이 포함 된 클래스의 절반을 잘라내는 추가 명령문이 있습니다. 이것은 편집 동작을 사용하지 못하게합니다. 이 오타가 수정되면 정상적으로 작동하기 시작합니다.

죄송합니다.

관련 문제