1

我正在尝试解决在我的网站上设置管理员时遇到的问题。这是我的路线的简单版本。

resources :users
  resources :articles
  resources :collaborators
end

resources :admin

管理员用户与协作者非常相似,因为他们可以编辑和创建文章,但管理员还可以为每个用户添加用户、协作者和文章。协作者只能对与分配给他们的用户相关联的文章进行处理。

这有点令人困惑的部分是如何设置管理员用于 CRUD 操作的控制器和视图。到目前为止,我尝试实现它的方式是在 admin/.xml 中创建单独的 CRUD 视图。问题在于功能与合作者非常相似,我觉得它可能以某种方式成为 DRYer。

任何人都知道实现这样的事情的最基本方法?谢谢!

更新:我想更新一下,说谷歌管理工具非常容易。我更想知道如何在没有管理工具的情况下实现这一点,或者如果这听起来是个坏主意,为什么?

4

2 回答 2

1

我想出的答案是创建具有管理字段真/假的协作者。我还设置了 CanCan,它运行良好。

这是我的 CanCan 能力.rb

定义初始化(用户)

if user.admin?
  can :manage, :all
else 
  can :manage, Article, :id => user.article_id
  cannot :index, Article
end

结尾

我只是使用“用户”,因为它比合作者和基本上是用户更易读和更短......

于 2012-08-07T20:19:19.910 回答
0

试试 ActiveAdmin (http://activeadmin.info/ )。我认为这是为您的应用程序构建管理员后端的最简单方法。

于 2012-08-02T07:36:33.497 回答