我的routes.rb
中有一个嵌套资源,如下所示:
map.resources :users, :only => [:index] do |user|
user.resources :projects
end
它为我提供了/users/2/projects
这样的网址,它会显示user
拥有的所有项目.2。用户登录后,我希望这是根页面,使用{{1 }}。如何设置map.root
来启用此功能?我正在使用设计,因此我可以使用map.root
获取当前用户,但我不确定current_user
中是否可以使用此设置。
答案 0 :(得分:4)
我们正在使用一个HomepageController来解决这个问题,该主页会根据if current_user
呈现两个不同的模板。
答案 1 :(得分:1)
您在RootController
旁边的routes.rb
控制器旁边设置了与现有嵌套路线一起的路线:
map.root :controller => :root
控制器RootController
的{{1}}操作可以呈现index
的{{1}}操作:
index
最后,ProjectsController
将使用class RootController < ApplicationController
def index
render :controller => :projects, :action => :index
end
end
来呈现适当的项目列表:
ProjectsController
这掩盖了身份验证等细节。
答案 2 :(得分:0)
您可以在过滤器方法中进行身份验证后重定向到该页面:
redirect_to user_projects_path(logged_in_user)