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로 이동합니다. 하지만 양식 부분이 렌더링 될 때 그 오류가 계속 발생합니다.
그래서 @ patient.inspect를 사용하여 뷰에서 변수를 출력했는데 아무 것도주지 않았습니다. 브라우저가 올바른 URL/레코드를 가리 킵니다. 레코드에는 모두 데이터가 들어 있습니다. 그것은 컨트롤러가 적절하게 변수를 할당하지 않는 것과 같지만 그 이유는 확실하지 않습니다. – nulltek