2017-02-14 173 views
0

我在rails應用程序基礎上構建了一個基於dookeeper和devise的ruby,現在我要更改默認情況下在Devise :: RegistrationsController中創建的默認RegistrationController紅寶石到我在一個文件夾api/users/registrationController中創建的自定義。 我試過幾種方法之一是這樣的:route.rb沒有指向我的自定義RegistrationController

devise_for :users, 
     only: :registrations, 
     controllers: { 
     registrations: 'api/users/RegistrationsController' 
     } 

,但我得到的錯誤,說這樣的:

'api/RegistrationsController' is not a supported controller name. This can lead to potential routing problems. See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use 

,我宣佈這個RegistrationController是這樣的方式:

class RegistrationsController < Devise::RegistrationsController 
    respond_to :json 
end 

當然,我在這個文件文件中創建了一些方法,但是當我發送posthost請求像localhost:3000/users和一個json文件時,它將我引用​​到此類類Devise :: RegistrationsCont滾輪< DeviseController並檢查整個過程。

+0

'API /用戶/ registrations' – Iceman

+0

@Iceman我添加此像爲RichardAE在說下面的答案,但它不再工作,我也更改路徑localhost:3000/api /用戶,並試圖得到結果,並從郵遞員得到這個錯誤 – AndroidDev

+0

在Api ::用戶:: RegistrationsController的LoadError#創建 無法autoload constant Api :: Users :: RegistrationsController,預計/ home/****/rails hell/****/app/controllers/api/users/registrations_controller.rb來定義它 – AndroidDev

回答

0

你不應該在字符串中的單詞「控制器」,你需要downcase太:

'api/users/registrations' 
+0

仍然會得到這個{「errors」: {「鄂麥l「:[」不能爲空「]}} – AndroidDev