我目前正在开发一个与Rails应用程序连接的Android应用程序。此Rails应用程序正在使用Devise进行用户身份验证。
现在我一直坚持如何允许Android方面的用户注册。我有一个Android视图/表单,它将键/值对发送到Rails应用程序(用户名,密码,电子邮件),但我不确定如何从那里处理事情。
我想在不渲染任何HTML的情况下注册用户。我只想要对Android应用程序做出响应,要么有成功消息,要么给我验证错误。
我的第一个想法是创建我自己的注册控制器,可以访问Android注册表单中的POST数据,并使用这些数据我将与Devise交互。然后我的注册控制器会发回一些响应(可能是XML?)。
有没有人对如何解决这个问题有任何建议?
答案 0 :(得分:0)
我想出来了。
我做的两件大事是自定义Devise路线并创建自定义注册控制器。
这是路线:
devise_for :users, :controllers => { :registrations => "registrations" }
然后,这就是自定义注册控制器的样子:
class RegistrationsController < Devise::RegistrationsController
skip_before_filter :verify_authenticity_token, :only => :create
def create
respond_to do |format|
format.html { super }
format.xml {
build_resource
if resource.save
# custom code....
render :status => 200, :xml => "<XmlResponse />"
else
# handle invalidation...
render :status => 207, :xml => "<XmlResponse />"
end
}
end
end
end