用于NilClass的未定义方法`model_name':类 - rails应用程序上的ruby

时间:2013-06-26 16:37:29

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

我有一个表单,用户在视图中提交电子邮件:views/about/home.html.haml

表格如下:

 = form_for @waitinglist do |f|
   = f.email_field :email, placeholder: "Enter your email", autofocus: :true
   = button_tag class: "btn btn-large btn-block btn-primary sigin-button" do
     %p Put me on the waiting list

控制器如下所示:

class WaitinglistsController < ApplicationController
  def create
    @waitinglist = Waitinglist.new(params[:waitinglist])
    if @waitinglist.save
        redirect_to root_path
    else
        render action: :new
    end
  end

  def new
    @waitinglist = Waitinglist.new
  end
end

该模型如下所示:

class Waitinglist < ActiveRecord::Base
  attr_accessible :email
  validates :email, presence: true
end

但是我收到了这个错误:

undefined method `model_name' for NilClass:Class

有什么问题?

1 个答案:

答案 0 :(得分:2)

你应该添加

@waitinglist = Waitinglist.new
home的{​​{1}}方法中的

。您的表单会尝试使用AboutController,但如果您没有定义它,则会@waitinglist,并且会抛出此异常。