导轨和路径选项

导轨和路径选项

问题描述:

路由请看下面的例子:导轨和路径选项

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的一种形式。

如何解决此问题?

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

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