私は名前空間(管理セクション)でアプリケーションを開発中です。 2つのコントローラを作成しないDRYソリューションはありますか?なぜなら、ユーザーを管理するには、パブリック・ユーザー・コントローラーと管理ユーザー・コントローラーを作成する必要があるからです。レールに名前空間を使用しているときにダブルコントローラを使用しますか?
1
A
答えて
1
ユーザコントローラを継承するのはどうですか?
# file: apps/controllers/images_controller.rb
class ImagesController < ApplicationController
# image code (to show the image for example)
end
# file: apps/controllers/admin/images_controller.rb
class Admin::ImagesCOntroller < ImagesController
# additional admin code (to delete the image for example)
end
0
オプションの「編集」ボタンを使ってページをレンダリングすることを検討することもできます。例えば、このような何か:
Name: <%= @user.name %>
<% if @user.admin? %>
<% form_for @user do |f| %>
Editing stuff
<% end %>
<% end %>
そのように、ユーザーはページとしてそれを見ているが、管理者は、彼らがフィールドを編集することを可能にする追加のコントロールを見ています。 P.S.コントローラーで、更新呼び出しを呼び出す管理者であることを確認していることを確認してください。
関連する問題
- 1. 名前空間: "グローバルとして使用"
- 2. 名前空間にconstexpr doubleを使用しています
- 3. 名前空間として `module`を使用します。
- 4. リンクに名前空間を使用したlink_toを使用
- 5. モデルに名前空間を使用するときのActiveModel :: MissingAttributeError
- 6. 「名前空間を使用する」とは何を正確にしますか?
- 7. 名前空間と同じ名前のモデルにアクセスしているレールのネストされた名前空間
- 8. XSDを使用してXMLファイルを検証するときに名前空間を使用する方法
- 9. 名前空間を使用しているときにエラーが発生しましたか?
- 10. 別の名前空間接頭辞のxml名前空間を使用していますか?
- 11. 名前空間に名前の変数を使用する
- 12. 名前空間を使用しているエラー
- 13. rake名前空間を設定として使用しますか?
- 14. 名前空間を使用するXElementを追加します。
- 15. 名前空間(gml)を使用してXMLを解析する
- 16. FitNesseを使用してRestFixtureと匿名名前空間を使用してRESTful APIをテストする
- 17. PHP - 名前空間\ {Foo、Bar}を使用しますか?
- 18. 名前空間プロパティを使用してXPATHとSELECTSINGLENODE属性
- 19. 名前空間パターンは、私は、次の名前空間パターンを使用していますエラー
- 20. XMLは宣言の前に名前空間を使用できますか?
- 21. PHP - PSR-4オートローディングコンポーザーの名前空間付きファイルの名前空間を使用
- 22. XPathを使用してデフォルトの名前空間(名前空間接頭辞なし)を取得する
- 23. PHPの名前空間と "使用"
- 24. 名前空間を使用してC++と相互運用する方法
- 25. Ionic 2でNodeJS.Timerを使用しているときに名前空間NodeJSが見つかりません
- 26. VB.netで使用する名前空間。
- 27. 名前空間名に変数tclを使用する
- 28. 名前空間がlaravelにないベンダーを使用する5.3
- 29. この名前空間の使用は正しいですか?
- 30. RazorEngineを使用するときに名前空間を追加する
私は少しあなたの質問で混乱しています。ユーザーのプロファイルを表示するためのコントローラと、管理者がそのコントローラを編集できるようにするコントローラの2つのコントローラがあり、それら2つをマージしたい場合はありますか?あるいは、「ユーザー」という概念と「管理者」の概念を持ち、ロールベースのモデルを使用してそれらを結合したいのですか? –
最初のものです。私はそれらをマージするためのソリューションが欲しい。 – Databaas