我是 Rails 新手,我希望能在我的 Rails 应用程序上从 Android 设备上注册帐户时获得帮助。目前我正在使用 Devise gem 进行用户注册。使用设计的令牌,我能够使用户身份验证正常工作,但我被困在如何从我的手机注册帐户。
到目前为止,我正在研究两种方法。我的第一次尝试是创建一个名为 MobileRegistrationsController 的新控制器,并使用如下创建方法:
class Api::V1::MobileRegistrationsController < ApplicationController
respond_to :json
def create
@user = User.create!(params[user])
@user.ensure_authentication_token!
respond_to do |format|
format.json { render json: @user }
end
end
end
这是我的路线文件夹。我为此遵循了 railscast 教程:
namespace :api do
namespace :v1 do
resources :tokens,:only => [:create, :destroy], :defaults => { :format => 'json' }
match 'register' => 'mobile_registrations#create', :via => "post", :defaults => { :format => 'json' }
end
end
从这里开始,当我使用我的 REST 客户端尝试向
localhost:3000/api/v1/register
我得到错误
ActionController::RoutingError (uninitialized constant Api::V1::MobileRegistrationsController):
所以我猜我在做一些根本错误的事情。我已经用谷歌搜索了,也许覆盖 Devise 会话控制器是更好的方法?有没有人有这方面的经验,可以帮助吗?
谢谢!
更新:所以我正在尝试一条新路线。通过将此添加到我的路线文件夹
devise_scope :user do
match "api/v1/register" => "devise/registrations#create"
end
当我尝试向此发送发布请求时。我收到另一个错误:
WARNING: Can't verify CSRF token authenticity
我想这比我以前的要好。所以现在我只需要弄清楚如何获得我的 Rails 真实性令牌。