Ruby on rails 如何调试Rails 4 API ajax错误

Ruby on rails 如何调试Rails 4 API ajax错误,ruby-on-rails,ajax,angularjs,Ruby On Rails,Ajax,Angularjs,好的,我已经使用Rails 4和Mongoid编写了一个API。我已经在我的用户模型中添加了一些验证,如密码不能为空、最小字符数等 当我尝试使用Angular JS app frontend通过ajax创建一个新用户,以及使用Postman测试API时,我从验证密码中得到所有错误,密码不能为空,名字不能为空,名字太短最小值为1个字符,姓氏不能为空,姓氏太短最小值为1个字符,电子邮件不能为空,电子邮件是无效的 这是我对用户模型的验证: 当我在控制器中使用以下代码返回参数时: def create

好的,我已经使用Rails 4和Mongoid编写了一个API。我已经在我的用户模型中添加了一些验证,如密码不能为空、最小字符数等

当我尝试使用Angular JS app frontend通过ajax创建一个新用户,以及使用Postman测试API时,我从验证密码中得到所有错误,密码不能为空,名字不能为空,名字太短最小值为1个字符,姓氏不能为空,姓氏太短最小值为1个字符,电子邮件不能为空,电子邮件是无效的

这是我对用户模型的验证:

当我在控制器中使用以下代码返回参数时:

def create
@user = User.new(user_params)
render json: { params: params, user: @user }
return
build_host_file(@user)
respond_to do |format|
  if @user.save
    format.html { redirect_to @user, notice: 'User was successfully created.' }
    format.json { render json: { success: true, user: @user } }
  else
    format.html { render :new }
    format.json { render json: { success: false, message: @user.errors.full_messages.to_sentence }, status: :unprocessable_entity }
  end
end
结束

PS:请注意,我在create controller中得到了一个返回值,这样我可以看到params变量中有什么

将参数呈现为json我得到以下结果:

    {
  "params": {
    "user": {
      "first_name": "FirstName",
      "last_name": "LastName",
      "domain": "www.example.com",
      "password": "foobar",
      "password_confirmation": "foobar",
      "email": "something@email.com"
    },
    "controller": "api/users",
    "action": "create",
    "format": "json"
  },
  "user": {
    "_role": "user",
    "address_details": null,
    "auth_token": null,
    "bio": null,
    "created_at": null,
    "domain": null,
    "email": null,
    "first_log_in": true,
    "first_name": null,
    "last_login": null,
    "last_name": null,
    "notification_settings": null,
    "password_digest": null,
    "payment_details": null,
    "remember_token": null,
    "reset_digest": null,
    "reset_sent_at": null,
    "sign_in_count": null,
    "sign_in_history": [],
    "social_settings": null,
    "stripe_details": null,
    "telephone": null,
    "theme": null,
    "updated_at": null,
    "id": "55eeb6bbfc7b340bdd000001"
  }
}

你知道发生了什么事吗?为什么我在参数中获得所有信息时得到错误验证?

您定义了用户参数吗?我定义了。我相信我发现了问题-强参数!!!-因为“让我头痛”是一个动态散列。我正在测试它。。。
    {
  "params": {
    "user": {
      "first_name": "FirstName",
      "last_name": "LastName",
      "domain": "www.example.com",
      "password": "foobar",
      "password_confirmation": "foobar",
      "email": "something@email.com"
    },
    "controller": "api/users",
    "action": "create",
    "format": "json"
  },
  "user": {
    "_role": "user",
    "address_details": null,
    "auth_token": null,
    "bio": null,
    "created_at": null,
    "domain": null,
    "email": null,
    "first_log_in": true,
    "first_name": null,
    "last_login": null,
    "last_name": null,
    "notification_settings": null,
    "password_digest": null,
    "payment_details": null,
    "remember_token": null,
    "reset_digest": null,
    "reset_sent_at": null,
    "sign_in_count": null,
    "sign_in_history": [],
    "social_settings": null,
    "stripe_details": null,
    "telephone": null,
    "theme": null,
    "updated_at": null,
    "id": "55eeb6bbfc7b340bdd000001"
  }
}