2017-04-12 55 views
0

我正在考慮什麼是以下場景的最佳解決方案:如何將命名空間控制器/視圖分配給登錄用戶?

我們有一個基本網站,每個人都可以在沒有註冊/登錄的情況下導航。控制器和視圖位於app/controllers和app /意見/ MODEL_NAME。

當用戶註冊並登錄(使用設計)時,應將其重定向到app/users /下的其他控制器,並相應地在app/views/users /下的不同視圖中。

我知道,我可能使基於signed_in?從我的觀點不同的諧音,我還可以從默認的控制器到user目錄下嵌套控制器重定向,但我覺得必須有一個更通用的方法。

我想知道是否可以單獨使用路由(當然還有具有不同控制器/視圖對的目錄結構)。

例子:

app/ 
    controllers/ 
    albums_controller.rb 
    users/ 
     albums_controller.rb 

    views/ 
    albums/ 
     index.rb 
    users/ 
     albums/ 
     index.rb 

編輯:rewrote這個帖子是有點更具體,得到了朝指着其中包括在覆蓋after_sign_in_path_forsolution

回答

0

我能想到的方法有兩種:

  • 結合了redirectioncustom constraint

  • 創建一個子類的ApplicationController

    class SignedOutApplicationController < ApplicationController 
        before_action :redirect_if_signed_in 
        ... 
    end 
    

    ,並使其子所有非用戶控制器的類。對於對稱我會創建一個SignedInController