【问题标题】:undefined method `model_name' for NilClass:Class in edit formNilClass 的未定义方法“model_name”:编辑表单中的类
【发布时间】:2013-04-11 14:49:20
【问题描述】:

我有一个 Rails 应用程序,可以在其中创建和编辑记录。我创建了一个表单来输入数据,当我使用新/创建操作时它可以正常工作。它会创建一个记录没有问题。但是当我点击编辑操作时,它给了我一个 NilClass:Class 的未定义方法“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/记录。记录中都有数据。就像控制器没有正确分配变量,但我不知道为什么。

标签: ruby-on-rails-3 model routes


【解决方案1】:

我的控制器中有一个额外的结束语句,它切断了包含编辑操作的一半类。这不允许我使用编辑操作。一旦这个错字被修复,事情就开始正常工作了。

很抱歉给您带来了困惑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多