2012-09-07 47 views
4

我是ruby和rails新手,到目前为止我设法使用devise来设置用户管理。现在我正在尝试整合对移动Android和iOS应用的支持。到目前为止,他们可以登录和注销并获得身份验证令牌。但除此之外,我还希望他们能够注册。Rails + Devise + API +用户注册

现在,我的理解是我必须做的一个帖子

http://localhost:3000/users/sign_up 

请问这个职位是什么样子?我如何获得JSON响应?我在stackoverflow找到了这个。

"utf8=✓&authenticity_token=n5vXMnlzrXefnKQEV4SmVM8cFdHDCUxMYWEBMHp9fDw%3D&user[email]=asd%40fasd.org&user[password]=321&user[password_confirmation]=1233&commit=Sign+up" 

不幸的是,这不起作用 - 我收到消息“坏请求”。我也对这个例子有几个问题。什么是authenticity_token?我如何获得一个?这不是我设想的令牌认证,因为用户甚至无法在此时拥有一个认证。

此外,成功登录后,我希望将“注册成功”消息与生成的设计身份验证令牌捆绑在一起。所以我想我必须以某种方式扩展设计现有的注册控制器。

非常感谢您提前!

回答

4

设计已经拥有了所有这些设置。根据您的注册路径,我推断您将Devise安装到http://localhost:3000/users。 Devise包括所有需要的控制器和视图,包括登录表单,注册表单,电子邮件确认表单和密码重置表单。

GET http://localhost:3000/users/sign_up实际上是用户注册的表单。该页面上的表单将张贴到http://localhost:3000/users/,发送到Devise的注册控制器的创建操作。

假如没有什么动作/视图已经在/users/sign_up,在注册表单应该有,去检查它是否有(假设你在routes.rb文件中设置正确devise_for)。

+0

感谢您的澄清。我的sign_up视图可用。现在注册到/ users /的帖子正在工作。答案如下所示:{“created_at”:“2012-09-07T12:59:51Z”,“email”:“[email protected]”,“id”:3,“updated_at”:“2012-09- 07T12:59:51Z“} 我想在此响应中接收设计认证令牌,以便用户可以在访问api时使用此令牌。如何去做呢?我想我必须覆盖设计师的注册控制器? –

+0

如果您希望控制器做一些不同的或额外的事情,您可以在https://github.com/plataformatec/devise#configuring-controllers上覆盖设计控制器 - info。 – ronalchn

相关问题