未初始化的常量控制器名称

时间:2015-10-11 16:18:16

标签: ruby-on-rails ruby model-view-controller controller

routes.rb中,我使用了resources nicknames。在nickname_controller,我做了:

def index
    @nick_name = current_user.nicknames.build
    @nick_names = current_user.nicknames.all
  end

def create
    @nick_name = current_user.nicknames.build(nn_create_param)
    if @nick_name.save
      flash[:success]= 'Name created'
      redirect_to nickname_path
    else
      flash[:danger]= "Name can't be created"
      redirect_to nickname_path
    end
  end

在索引视图文件中,

<%= form_for @nick_name do |f| %>
    <%= f.text_field :nickname %>
    <%= f.submit 'Submit' %>
<% end %>

当我提交表单时,它会显示uninitialized constant NicknamesController

谁能告诉我问题出在哪里?

2 个答案:

答案 0 :(得分:11)

控制器名称必须是多元化的。

nicknames_controller.rb

class NicknamesController < ApplicationController

答案 1 :(得分:1)

您的控制器文件名应为nicknames_controller.rb而不是nickname_controller.rb。您的控制器类名称应为NicknamesController而不是NicknameController