param丢失或值为空:user

8vi*_*ius 3 api rest activerecord ruby-on-rails postman

我正在使用Postman来测试我的API,并且在param is missing or the value is empty: user调用http://localhost:3000/users.json创建新用户时遇到错误.所有参数似乎都没问题.

我在应用程序控制器中设置了它:

protect_from_forgery with: :null_session 
Run Code Online (Sandbox Code Playgroud)

我的控制器方法是基本的脚手架生成方法:

def create
  @user = User.new(user_params)

  respond_to do |format|
    if @user.save
      format.html { redirect_to @user, notice: 'User was successfully created.' }
      format.json { render :show, status: :created, location: @user }
    else
      format.html { render :new }
      format.json { render json: @user.errors, status: :unprocessable_entity }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:

这是我在Postman中所做的截图.

在此输入图像描述

8vi*_*ius 6

问题是我的参数没有被包装成一个user对象.例如,在我的情况下,我将不得不更改参数:

username
Run Code Online (Sandbox Code Playgroud)

对于:

user[username]
Run Code Online (Sandbox Code Playgroud)

为所有参数执行此操作使测试工作.