gpt4 book ai didi

iphone - 从 JSON 在 Devise 中创建用户

转载 作者:行者123 更新时间:2023-12-03 18:38:34 25 4
gpt4 key购买 nike

我正在努力将运行 Devise 的 Rails 3.1 应用程序与我的 iOS 应用程序集成以进行用户身份验证。我希望用户能够从应用程序注册,然后我可以存储这些凭据以便稍后登录。

使用 RestKit,我这样做:

-(IBAction)registerUser:(id)sender {
NSDictionary *params = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:
self.email.text,
self.password.text,
self.confirmPassword.text,
nil]
forKeys:[NSArray arrayWithObjects:
@"email",
@"password",
@"password_confirmation",
nil]];

[[RKClient sharedClient] post:@"/users.json" params:params delegate:self];
}

/users.json 网址转到:user_registration POST/users(.:format) {:action=>"create", :controller=>"devise/registrations"} (根据 rake 路线)。看来 post 调用接受不同的格式,所以我假设它会接受 JSON。我的 Post 请求被序列化为 JSON,然后发送出去。服务器获取到,这是日志:

Started POST "/users.json" for 129.21.84.10 at 2012-01-12 15:33:57 -0500
Processing by Devise::RegistrationsController#create as JSON
Parameters: {"password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "email"=>"test1@test.com"}
WARNING: Can't verify CSRF token authenticity
User Load (0.9ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
(0.3ms) BEGIN
(0.2ms) COMMIT
(0.2ms) BEGIN
(0.4ms) ROLLBACK
Completed 422 Unprocessable Entity in 93ms (Views: 3.8ms | ActiveRecord: 10.2ms)

我收到 422 错误,并且我的用户未创建。我的 iOS 应用程序得到的响应是:Response: {"email":["can't be Blank"],"password":["can't be Blank"]}。但密码和邮箱不为空,服务器已成功获取。所以,有些事情不太正常,我不知道该去哪里。如何使用 JSON 创建用户?

感谢您的帮助!

最佳答案

我自己也在做同样的事情 - 通过 iPhone 应用程序在 Devise 中创建用户。我已经通过 POSTing json 让它工作了,如下所示:

{"user":{"email":"test@example.com", "password":"Test123", "password_confirmation":"Test123"}}

和网址:

http://localhost:3000/users.json

我的帖子的请求 header Content-Type 是“application/json”。

所有标准 Devise 配置。

关于iphone - 从 JSON 在 Devise 中创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8841946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com