Rails: 未定义的局部变量或方法“user_params”

Rails: undefined local variable or method `user_params'

我正在阅读 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

我检查了其他答案,他们认为我的 'end' 陈述不正确。我玩过它们没有效果。

我认为这可能与我的 "user" 或 "users" 有关,但我不知道该怎么做 :/

感谢您的建议!

你打错了:

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

您已经创建了一个名为 users_paramsprivate 方法并将其称为 user_params。这就是你错误的全部根源。