1

User很多Folders。为了实现 的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

这可能需要相同的时间,但您的视图中不应包含逻辑。

正如您在两个示例中的第一个示例中所述,您应该在控制器中执行此操作。文件夹视图显示文件夹,不必知道是当前用户的文件夹。

这样,您可以执行管理操作,您可以在其中检索所有文件夹并将其传递给变量“文件夹”中的同一视图。该视图不关心它只是代表您传递给它的任何文件夹列表的文件夹。

于 2012-08-15T17:49:48.237 回答
0

There'll be no real performance difference. It's just a matter of style and code separation.

于 2012-08-15T15:13:35.227 回答