在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
。
谁能告诉我问题出在哪里?
答案 0 :(得分:11)
控制器名称必须是多元化的。
nicknames_controller.rb
class NicknamesController < ApplicationController
答案 1 :(得分:1)
您的控制器文件名应为nicknames_controller.rb
而不是nickname_controller.rb
。您的控制器类名称应为NicknamesController
而不是NicknameController
。