[英]Root with slug rails 4 routing
目前,我正在使用friendlyID
gem,如果用戶通過了身份驗證,我只想將我的應用程序重定向到帶有slug的根目錄。
網址
http://localhost:3000/companyABC/dashboard
這是我當前的代碼
authenticated :employer do
root to: redirect("/:slug/dashboard"), as: :employer_root
end
namespace :company, path: "/:slug" do
resources :dashboard
namespace :settings do
resources :collaborators
end
end
但是問題是當我登錄時,它會將我重定向到http://localhost:3000/:slug/dashboard
據我所知,您不能在路由中使用lambda,因此無法訪問數據庫並在路由中獲取公司的信息。
但是,如果您使用devise ,則可以覆蓋方法#after_sign_in_path_for ,因此用戶將不會重定向到root_url,而是重定向到指定的url。 例如:
class ApplicationController < ActionController::Base
def after_sign_in_path_for(user)
company_dashboards_url(user.company)
end
end
這里的更多信息: 設計有關after_sign_in_path_for的文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.