我对 MVC 的理解是 SQL(或任何与持久性相关的)查询只能在模型/控制器对象中执行。因此,关于控制器的 Rails 3 文档指出:
[控制器] 使模型数据可用于视图,以便它可以向用户显示该数据。
但是,文档也有直接在 View (HTML helper) 代码中使用查询的示例:
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] })
# Note the model query -----^
在 Rails 3 中,在 Views 中执行查询通常是可以接受的,还是有令人信服的理由将此类查询严格委托给 Model 或 Controller 对象?文档只是说明性的还是举例说明了最佳实践?