Rails:未定义的局部变量或方法`user_params'

时间:2015-01-18 19:36:32

标签: ruby-on-rails controllers

我正在通过https://www.railstutorial.org/第7章。

我已为新用户创建了一个注册页面,以便将新信息放入其中。但是,一旦用户完成此操作,我会在按下提交后收到错误消息。

undefined local variable or method `user_params' for #<UsersController:0x007fff122629d8>

这是我的代码:

class UsersController < ApplicationController

  def show
    @user = User.find(params[:id])
  end

  def new
    @user = User.new
  end

  def create
    @user = User.new(user_params)
    if @user.save
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
        end
    end

  private

    def users_params
    params.require(:user).permit(:name, :email, :password, :password_confirmation)
    end
end

我检查了其他答案,他们建议我结束&#39;陈述不正确。我和他们一起玩过没有效果。

我认为这可能与我的&#34;用户&#34;或&#34;用户&#34;但我不知道该怎么做:/

感谢您的建议!

1 个答案:

答案 0 :(得分:2)

你有一个错字:

@user = User.new(user_params) # should be users_params

您已创建名为users_params私有方法,并将其称为user_params。这就是你错误的全部来源。