我對MVC的理解是SQL(或任何與持久相關的)查詢只能在模型/控制器對象中執行。因此,Rails 3 documentation about Controllers指出:查詢在Rails 3視圖中可以接受嗎?
[控制器]使模型數據可用於視圖,以便它可以將該數據顯示給用戶。
然而,該文檔還具有使用queries directly in View (HTML helper) code的例子:
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] })
# Note the model query -----^
在Rails 3,是通常可接受的,以查看執行查詢或者是有令人信服的理由嚴格委派這種查詢到模型或控制器對象?文件是否僅僅是示範性的,還是它是一個最佳實踐的例證?
但是,在視圖中主要(完全?)不是使用助手嗎?如果我們把一個查詢放在助手中,那麼和在View中做查詢不是一回事嗎? – maerics
我明白了,我的觀點是避免直接把它放在視圖中,並證明文件是正確的。我用來從單個表a.i中提取簡單的數據。創建包含項目列表的組合框的助手。 –