私は1つの管理ページ(/ admin)を作成しようとしており、これに最も近い方法を見つけようとしていました。私が見つけたすべてのソリューションは、私のニーズにはあまりに複雑すぎるようです(管理ページには、リソースの1つを編集する単一の目的があります)。 1つのアクションだけを持つコントローラは最も簡単なソリューションのようですが、これを行う前に他のオプションを検討する必要がありますか?インデックスアクションのみのコントローラを作成することをお勧めしますか?
-1
A
答えて
3
考慮すべき点がいくつかあります。
- ページを1つのリソースを編集するために使用されている場合は、その理由
/admin
ではなく、/<resource>
または/admin/resource
または/admin/<resource>/:id
でいるのですか?必要に応じてネストされたルートを使用して管理ネームスペースを作成することができます。潜在的にあなたのルートに:admin
の名前空間を付けて、専用のコントローラを作るのではなく、管理名前空間のルートを特定のコントローラに設定することもできます。 - アクションのコントローラを作成することに本質的に間違っていることはありません。しかし、通常、そのようなページは、リソースを編集するためのものではなく、ダッシュボードやリソース/モデル階層にきれいにマップされていない特別な機能です。
- いくつかの静的なページが必要な場合は、1つのコントローラでそれらをグループ化するのが一般的です(他のソースの中のRailsのチュートリアルに従います)。
Railsルーティングガイド(http://guides.rubyonrails.org/routing.html)を読んでいない場合は、読んでいる可能性があります。
0
HTTP基本認証を使用して、before_action
とonly
オプションを使用すると、パスワード保護するアクションに対してのみトリガーできます。
class ResourceController < ApplicationController
before_action :authenticate, only: [:admin_edit]
def admin_edit
# your action code here
end
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "admin" && password == "[email protected]"
end
end
end
関連する問題
- 1. Pythonでソケットベースのサーバーを作成することをお勧めしますか?
- 2. オートコンプリートフィルターのコントローラーを作成することをお勧めしますか?
- 3. データベースチューニングアドバイザで既存のインデックスを作成することをお勧めします
- 4. ボタンをお勧めします..もしお勧めですか?
- 5. ユーザー定義関数を作成するストアドプロシージャを作成することをお勧めしますか?
- 6. super()を使用することをお勧めしますか?
- 7. デストラクタをオーバーライドすることをお勧めしますか?
- 8. DataContractSerializerインスタンスをキャッシュすることをお勧めしますか?
- 9. Luceneを使用することをお勧めしますか?
- 10. この同じインスタンスをUWPの1ページクラスに作成することをお勧めしますか?
- 11. SQL Serverのクライアントごとに異なるデータベースを作成することをお勧めしますか?
- 12. ビルドサーバで使用するためにAndroid SDKのリポジトリを作成することをお勧めします
- 13. ルートを作成するときにroutes.rbがディレクトリを参照することをお勧めしますか?
- 14. アクションクライアントとコントローラの間でアクションサーバを使用することをお勧めしますか?
- 15. コントローラとサービスの間にファサードサービスを実装することをお勧めしますか?
- 16. プロジェクトごとに新しいリポジトリを作成することをお勧めしますか?
- 17. トランザクションごとに新しい契約アドレスを作成することをお勧めしますか?
- 18. vb.netモジュールを使用することをお勧めします
- 19. 配列のインデックスをCに含めることをお勧めしますか?
- 20. リソースを試してみることでRealmを使用することをお勧めしますか?
- 21. ユーザコンテンツを格納するテーブルを動的に作成することをお勧めしますか?
- 22. ARCでは、ループ用の@autoreleasepoolを作成することをお勧めしますか?
- 23. 複数の.exeでアプリケーションを作成することをお勧めしますか?
- 24. DreamweaverとASP.NETの操作 - これはお勧めですか?
- 25. ピクセルを使用してレイアウトをプログラムで作成することをお勧めしますか?
- 26. phpを使用して請求システムを作成することをお勧めしますか?
- 27. 小さいコンポーネントを使用してWPFページを作成することをお勧めしますか?
- 28. クラス変数にアクセスする関数を作成することをお勧めしますか?
- 29. カスタムJavascriptイベントを作成してディスパッチすることをお勧めしますか?
- 30. オブジェクトリテラルをハッシュテーブルとして使用することをお勧めしますか?
名前空間について読んだところ、私のニーズには余計なようでした。管理ページを作る決心は残念ながら私のものではないので、私はそれをスキップすることはできません。私はあなたの第2弾を読むことができてうれしく思います。それはまさにダッシュボードのようなものです(リソースの編集と追加の統計情報)。私は通常3番目の弾丸オプション(ページコントローラ)に行ってきましたが、常に複数のカスタムアクションしかありませんでした。大きな反応がありがとう、これが私の必要なものです。 – sloneorzeszki