1

在我的 Rails 应用程序中,我有管理员和用户。

用户应该只看到自己的资源 /packages /warehouse /dashboard。管理员应该使用自定义控制器查看所有这些 /user1/packages /user2/packages 并使用 /packages /warehouse /dashboard 一次(合并)所有这些

我不太确定如何将此结构放入 rails routes 和 controllers 。

resources :users do
    resources :packages 

    collection do
        get 'warehouse' => "warehouse#index"
        get 'dashboard' => "dashboard#index"
    end
end

有任何想法吗?

4

1 回答 1

0

您不应该尝试通过路由而是通过权限来执行此操作。

一种简单的方法是使用before_filter :check_permission检查用户类型的方法,current_user.is_a?(Admin)如果检查结果为假,则使用相应的消息(例如,“您不允许访问此处。”)重定向到正确的页面。

于 2013-05-11T17:28:57.370 回答