代码之家  ›  专栏  ›  技术社区  ›  Skilldrick

具有嵌套资源的Rails路由根

  •  5
  • Skilldrick  · 技术社区  · 14 年前

    我的数据库中有一个嵌套的资源 routes.rb 这样地:

    map.resources :users, :only => [:index] do |user|
      user.resources :projects
    end
    

    这让我觉得 /users/2/projects ,它将显示 user 2用户登录后,我希望这是根页面,使用 map.root . 我该怎么设置 current_user ,但我不确定是否有 .

    3 回复  |  直到 14 年前
        1
  •  4
  •   Reactormonk    14 年前

    我们用一个HomepageController来解决这个问题,它基于 if current_user

        2
  •  1
  •   Richard Cook    14 年前

    你会把你的路线安排到 RootController routes.rb 沿着现有嵌套路线:

    map.root :controller => :root
    

    控制器 index 然后动作可以呈现 指数 政府的行动 ProjectsController :

    class RootController < ApplicationController
      def index
        render :controller => :projects, :action => :index
      end
    end
    

    最后, 项目控制器 current_user 要呈现适当的项目列表,请执行以下操作:

    class ProjectsController < ApplicationController
      def index
        @projects = Project.all.find_by_user(current_user)
      end
    end
    

        3
  •  0
  •   Ed Haywood    14 年前

    在筛选方法中进行身份验证后,可以重定向到该页:

    redirect_to user_projects_path(logged_in_user)