1

私は Ruby on Rails 3.2.2 を使用しています。適切なフロントエンド コンテンツを「処理」/「生成」して、主に現在のユーザーの「平等」に基づいてメニュー項目を管理する「一般的な」方法に従いたいと考えています。つまり、に基づいてさまざまなメニュー項目を表示したいと思います

  • 現在閲覧中のページ。
  • そのページにアクセスしている現在のユーザー (ページは、現在のユーザーではないユーザーに関連している可能性があります)。

どこで(コントローラー、ビュー、またはモデル ファイルなど)、どのように (コントローラー、ビュー、またはモデル ファイルで現在のユーザーに関連するチェックを記述するなど)、これらの「条件ステートメント」を「状態」/「配置」する必要がありますか?


現時点では、 (主に現在閲覧中のページに関連する問題について)ヘルパー メソッドを使用して、この問題をコントローラーで直接処理できると思います...

4

1 に答える 1

0

私はこれをViewファイルに入れる傾向があり、単純なケースまたは静的なケースがViewファイルにコーディングされ、より複雑なケースではヘルパーに1行以上のコーディングが必要になります。

ただし、ビューファイルが肥大化しないように、パーシャルを使用してコードのブロックをビューファイルからオフロードすることをお勧めします。

ビューを使用する理由の1つは、とにかく特定のユーザーベースのフォーマットを実行することです。たとえば、すべての注文を一覧表示すると、通常のユーザーには特定の列が表示されますが、管理者がログインすると、いくつかの列が表示されます。追加の列の。これは通常、次のようなもので行われます

<%if @curreny_user_type == 'admin'%><td> ...... </td><%end%>

したがって、ユーザーベースのロジックの一部をコントローラーに分割し、他のロジックをビューに分割する前に、それらを常に同じ場所に配置したいと思います。

于 2012-08-07T09:31:23.610 に答える