ruby-on-rails - json post 来设计原因 422/不可处理的实体

标签 ruby-on-rails angularjs devise

我正在使用 angular 并发布到 RoR 后端,并设计用于身份验证。当我提交一个新用户进行创建时,我得到以下信息:

Started PUT "/api/user" for 127.0.0.1 at 2013-11-19 11:38:13 -0600
Processing by Devise::RegistrationsController#create as JSON
  Parameters: {"user"=>{"email"=>"alex@someemail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "first_name"=>"alex", "last_name"=>"p"}, "registration"=>{"user"=>{"email"=>"alex@someemail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "first_name"=>"alex", "last_name"=>"p"}}}
   (0.2ms)  BEGIN
  User Exists (0.8ms)  SELECT 1 AS one FROM "users" WHERE "users"."email" = 'alex@someemail.com' LIMIT 1
   (0.2ms)  ROLLBACK
Completed 422 Unprocessable Entity in 128ms (Views: 0.2ms | ActiveRecord: 7.4ms)

用户模型:
class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
  attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :remember_me, :last_check

end

我无法弄清楚发生了什么。我认为它与我发送(或不发送?)的参数有关,但一切似乎都在那里。

最佳答案

我根据日志的第一个想法是已经有一个用户使用相同的电子邮件。否则,您可以使用 httpclient(chrome 中的 curl 或 Postman 或 chrome 中的 Restclient)来查看响应是什么。

我对 Angular 不太熟悉,但是如果您确实可以访问 http 响应,只需在控制台中输出它。它应该告诉您验证错误。

关于ruby-on-rails - json post 来设计原因 422/不可处理的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20079150/

相关文章:

ruby-on-rails - ActiveStorage 文件附件验证

ruby-on-rails - Intellij Idea中如何配置rails

javascript - 如何在 AngularJS 的 ng-repeat 中动态格式化表格

ruby-on-rails - 设计用户级别理论

jquery - 如何使我的新注册设计表单实现 AJAX 化?

ruby-on-rails - ruby mailman 从电子邮件正文中删除标题

javascript - 为什么我的 html 页面没有在 <ui-view> 中渲染?

javascript - Angular 异步事件的问题

css - 将 css 中的 span.bubble 固定在右侧

ruby-on-rails - Rails 4 - 设计:在注册时获取 ActionController::UnknownFormat