2017-04-12 66 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

相关问题