簡體   English   中英

Rails-視圖或控制器中的查詢模型?

[英]Rails - query model in view or controller?

User有很多Folder 為了實現Folderindex操作,我可以在控制器中查詢特定用戶的文件夾:

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
...

當然,前者要優雅得多。 但是它們有本質的不同嗎? 我的意思是說,他們有時候表現不同還是結果不同?

這可能需要花費相同的時間,但是您的視圖中不應包含邏輯。

如您在兩個示例中的第一個示例中所述,您應該在控制器中執行此操作。 文件夾視圖顯示文件夾,而不必知道它是當前用戶的文件夾。

這樣,您可以執行管理員操作,在其中檢索所有文件夾,並將其傳遞到變量“文件夾”中的同一視圖。 該視圖不在乎它僅代表您傳遞給它的任何文件夾列表的文件夾。

實際性能不會有任何差異。 這只是樣式和代碼分離的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM