1

私は自分のサイトで管理者を設定する際に抱えている問題を解決しようとしています。これが私のルートの簡単なバージョンです。

resources :users
  resources :articles
  resources :collaborators
end

resources :admin

管理者ユーザーは、記事を編集および作成できるという点で共同編集者と非常によく似ていますが、管理者には、すべてのユーザーのユーザー、共同編集者、および記事を作成する機能もあります。共同編集者は、割り当てられたユーザーに関連付けられている記事のみを作成できます。

これが少し混乱する部分は、管理者がCRUD操作に使用するコントローラーとビューを設定する方法です。今のところ、私が実装しようとしている方法は、admin/内に個別のCRUDビューを作成することです。これに伴う問題は、機能がコラボレーターと非常に似ていることです。どういうわけか、DRYerである可能性があると思います。

誰かがこのようなものを実装するための最も基本的な方法を知っていますか?ありがとう!

更新:これを更新して、レール用の管理ツールをグーグルで検索するのは非常に簡単だと言いたいです。管理ツールなしでこれを実装する方法をもっと知りたいのですが、それが悪い考えのように聞こえるのなら、なぜですか?

4

2 に答える 2

1

私が思いついた答えは、管理フィールドtrue/falseで共同編集者を作成することです。CanCanもセットアップしましたが、かなりうまく機能しています。

これが私のCanCanability.rbです

def initialize(user)

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 に答える