NameError(Rails中未初始化的常量* nameofcontroller *错误

时间:2009-11-19 17:48:19

标签: ruby-on-rails

我是RoR的新手并且在没有scafolding的情况下尝试简单的CRUD操作。我有一个名为ccword的模型,控制器名为WordsController。

问题是我正在创建简单的'create'并引导我犯这个错误:  C cwordsController #create

中的NameError

未初始化的常量CCwordsController

这就是我的控制器中的create方法的样子:

def create
  @ccword = CCword.new(params[:ccword])
    respond_to do |format|
      if @ccword.save
        flash[:notice] = 'Word was successfully added.'
        format.html { redirect_to(@ccword) }
        format.xml  { render :xml => @ccword, :status => :created, :location => @ccword }
      else
        flash[:notice] = 'Error.'
        format.html { render :action => "show" }
        format.xml  { render :xml => @ccword.errors, :status => :unprocessable_entity }

      end
    end
  end  
end

我的观点new.html.erb看起来像:

<h1>Words new</h1>


<% form_for (@ccword) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :word %><br />
    <%= f.text_field :word %>
  </p>
  <p>
    <%= f.label :meaning %><br />
    <%= f.text_field :meaning %>
  </p>

  <p>
    <%= f.submit 'create' %>
  </p>

  <% end %>

当我点击创建时,我得到了NameError。 在控制台中显示以下日志:

Processing ApplicationController#create (for 127.0.0.1 at 2009-11-19 09:33:06) [POST]
  Parameters: {
    "commit"=>"Create", 
    "authenticity_token"=>"hqf54HkXSaTPGejGSbEPcw3ZpOy1Ayp3gvti29gc7Eg=", 
    "c_cword"=>{"meaning"=>"2", "word"=>"2"}
  }

NameError (uninitialized constant CCwordsController):

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题在于:

format.html { redirect_to(@ccword) }

尝试将其更改为

format.html { redirect_to word_path(@ccword) }