簡體   English   中英

根與子彈軌4路由

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM