1

Userは多くFolderのがあります。indexのアクションを実装するためFolderに、コントローラー内の特定のユーザーのフォルダーを照会できます。

class FoldersController < ApplicationController
  def index
    @folders = current_user.folders
  end
end

#app/views/folders/index.html.haml
- @folders.each
...

しかし、コントローラーをスキップすることもできます。

#app/views/folders/index.html.haml
- current_user.folders.each
...

もちろん、前者の方がはるかにエレガントです。しかし、それらは実質的に異なりますか?つまり、パフォーマンスが異なるのか、結果が異なる場合があるのでしょうか。

4

2 に答える 2

1

おそらく同じ時間がかかりますが、ビューにロジックを含めるべきではありません。

2つの例の最初の例で述べたように、コントローラーでそれを行う必要があります。フォルダビューにはフォルダが表示されます。現在のユーザーのフォルダであることを知る必要はありません。

このようにして、すべてのフォルダーを取得し、それを変数「folders」の同じビューに渡す管理アクションを実行できます。ビューは、渡されたフォルダリストを表すフォルダを気にしません。

于 2012-08-15T17:49:48.237 に答える
0

実際のパフォーマンスの違いはありません。それはスタイルとコードの分離の問題です。

于 2012-08-15T15:13:35.227 に答える