2010-12-01 9 views
0

私はDBからのレコードをテーブルに表示するレール3アプリを持っています。同じ方法で管理者コントローラが使用されているかどうかを確認し、そうであれば編集項目をテーブルアイテムに追加します。どのようなベストレールの方法を以下を行う

例:

  • list_info /なし管理サーバー/自宅でいくつかの情報名アドレスをログに記録
  • 詳細情報名称アドレス

    list_info /管理サーバ/管理者としてログイン

  • いくつかの情報の名前住所編集の削除
  • 詳細情報名前編集編集削除

私は現在、2つのコントローラと2つのビューメソッドを持っています。管理メソッドは、最後に削除の編集リンクが付いたコピーです。 これはあまりにもDRYには見えません。この状況で人々は何をしますか?

多くのおかげ アンディ

答えて

1

私は最善の方法は、コントローラ/ビューのいずれかのセットを持っており、現在のユーザーが管理者であれば、単純に見ることだと思います。はいの場合は、編集/削除リンクを表示してください。

通常、認証にはDeviseを、認証にはCanCanを使用できます。

工夫はCURRENT_USERオブジェクトを提供しますので、あなたはadmin?メソッドを実装する場合は、

<%= link_to_if current_user.admin?, 'Delete', ... %> 

ノートのようなものを使用することができます:上記はあくまでカンカンない、工夫使用します。

+0

ありがとう、私は、htmlテーブルを生成するための答えより多くの後でした。ユーザーまたは管理者に応じて、同じ方法で – AndyM

+0

はい、ありがとうございます。 – AndyM

+0

ユーザーまたは管理者に基づいてテーブルを生成するのと同じ方法を使用することができます。上のコードをセルのテーブルの1つに置くだけです(リンクを管理ビューに配置します) –

関連する問題