【发布时间】:2015-08-13 17:45:26
【问题描述】:
Rails 指南Layouts and Rendering in Rails 给出了在控制器和视图中都使用渲染的示例。
Rendering by default ... 部分提到默认调用渲染。 Using render 部分给出了在控制器中调用 render 的示例:
def update
@book = Book.find(params[:id])
if @book.update(book_params)
redirect_to(@book)
else
render "edit"
end
end
Using Partials 部分给出了在视图中使用渲染的示例,例如使用局部渲染。
<%= render "menu" %>
无论是在控制器中使用渲染的情况,还是在视图中使用渲染的情况,都让我觉得不合逻辑。但令我困惑的是,我认为 Rails 的主要概念之一是模型视图控制器分离,这意味着将模型、视图和控制器的职责分开。
为什么在控制器和视图中都调用render是正常的?
【问题讨论】:
标签: ruby-on-rails model-view-controller rendering