1

私のショッピングサイトには、すべてのページに共通のヘッダーがあります。ヘッダーにショッピングカートのアイコンを追加しました。現在のカートの内容に基づいて更新される番号が付いています。

このアイコンにはcurrent_cartの定義が必要なため、これをすべてのコントローラーアクションに追加する必要があります。これは賢明ではない/安全ではありませんか?Railsは初めてですが、applications.rbにメソッドを追加することによるセキュリティへの影響をよく理解していません。

また、これを1回application_controller.rbに追加する、または関連する各コントローラーアクションに個別に追加するための最良の方法はありますか?

フィードバックをよろしくお願いします!

4

2 に答える 2

1

DRYを念頭に置いて、このメソッドを1回追加することをお勧めします。これは、コントローラーの継承ツリーの1つ上のレベルです。すべてのコントローラーがそのメソッドを必要とする場合は、application_controller.rbが適しています。それらの一部だけの場合は、ApplicationControllerから継承するコントローラーを作成し、そのメソッドをその中に格納すると、そのメソッドを必要とするすべてのコントローラーがそれを継承することを検討できます。

于 2012-08-11T18:47:44.753 に答える
0

すべてのコントローラーは、アプリケーションコントローラーから継承します。これは、アプリケーションコントローラーで定義したメソッドが、他のすべてのコントローラーで使用できることを意味します。

于 2012-08-11T18:44:49.870 に答える