2016-03-03 132 views
0

路由請看下面的例子:導軌和路徑選項

devise_for :users, path: ':school_id/', controllers: { 
    sessions: 'users/sessions', 
    confirmations: 'users/confirmations', 
    registrations: 'users/registrations', 
    passwords: 'users/passwords', 
    } 

    devise_scope :user do 
    get "sign_out" => 'users/sessions#destroy', as: :sign_out 
    post "add_lectures" => 'users#add_lectures', as: :user_add_lectures 
    end 

當我做一個Ajax請求/add_lectures Rails的認爲我試圖訪問/:school_id/users/..因爲path選項供用戶路線。換句話說,Rails認爲add_lectures是參數school_id的一種形式。

如何解決此問題?

回答

0

如果這是你的路由文件,你不需要在devise_scope下面添加它。嘗試添加示波器,如routes.rb中的通用路由,例如

post "add_lectures" => 'users#add_lectures', as: :user_add_lectures條目中的路由文件