3

在我的 Rails 应用程序中,我试图从 json 客户端创建一个新用户。但是,我对作为 json 正文发送的内容有点坚持。该请求已正确发送到正确的控制器,但是我不断收到我的验证错误作为响应。它说电子邮件和用户名不能为空。我做错了吗?

我正在发布到这个 url localhost:3000/users.json

我正在尝试将其作为 json 请求发送:

{
 "user":
  {
   "email": "foo@foo.com",
   "username": "noob1",
  }
}

在我的创建动作中,我有这个:

 # POST /users
  # POST /users.json
  def create
    @user = User.new(params[:user])

    respond_to do |format|
      if @user.save
        format.html { redirect_to @user, notice: 'User was successfully created.' }
        format.json { render json: @user, status: :created, location: @user }
      else
        format.html { render action: "new" }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

这是我的路线:

users GET    /users(.:format)          users#index
          POST   /users(.:format)          users#create
 new_user GET    /users/new(.:format)      users#new
edit_user GET    /users/:id/edit(.:format) users#edit
     user GET    /users/:id(.:format)      users#show
          PUT    /users/:id(.:format)      users#update
          DELETE /users/:id(.:format)      users#destroy
4

1 回答 1

2

你用什么来发送 POST?确保您将Content-Type标题设置为application/json.

另外,尝试发布到localhost:3000/users.json.

于 2012-07-28T21:17:48.810 回答