【问题标题】:undefined method 'model_name' for NilClass:Class error with subclasses on herokuNilClass 的未定义方法“model_name”:heroku 上子类的类错误
【发布时间】:2013-06-05 01:51:29
【问题描述】:

我刚刚开始构建我的应用程序 - 所以这里没有什么太严肃的事情。它在我的本地环境中运行良好,但似乎在 heroku 上崩溃了。

代码是这样的:

我正在设计一个用户模型。 我在用户、作者和读者下有 2 个子类。

添加阅读器的表单如下:

<%= form_for(@reader, :url => user_registration_path) do |f| %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email, :autofocus => true %></div>

  <div><%= f.label :password %><br />
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.label :name %><br />
  <%= f.text_field :name %></div>

  <div><%= f.label :zipcode %><br />
  <%= f.text_field :zipcode %></div>

  <div><%= f.submit "Sign up" %></div>
<% end %>

控制器有:

  def index
    @reader = Reader.new
  end

而且模型很简单:

Class Reader < User
end

虽然我还没有尝试使用表单创建新用户,但在本地环境中加载页面时我没有收到任何错误。然而在 heroku 上,我收到了undefined method 'model_name' for NilClass:Class

我已经搜索了数据库,但没有成功重新启动服务器。

有什么想法吗?

【问题讨论】:

  • 您不觉得使用user_registration_path 作为reader 模型表单的操作是错误的吗?
  • 首先放弃显而易见的:index.html.erb 中的那个表格吗?看起来@reader 没有设置。
  • @fotanus,最初是的 - 但它会存在于用户表中,并且不会在本地给我任何错误。所以我不明白为什么这会是 heroku 的问题。
  • 好电话 - 这是部分内容,我没有意识到我的观点错误,请随时发布作为答案 - 我会标记为正确的@Ghar

标签: ruby-on-rails ruby ruby-on-rails-3 heroku


【解决方案1】:

我好像没有设置@reader。 该表单不在 index.html.erb 中。 它必须是 new 和 edit 操作使用的部分 _form.html.erb。所以你必须在阅读器控制器的这些操作中设置@reader

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多