我尝试在操作中编写渲染,但布局行为不同,为什么?
def show
# assuming we have a partial in app/views/shared/_panel_show.html.erb
#render "shared/_panel_show" # have layout
#render "/shared/_panel_show" # without layout
#render "shared/panel_show" # Template is missing
#render :partial => "shared/panel_show" # without layout
render :partial => "/shared/_panel_show",:layout => "application" # have layout
end
我想渲染部分并遵循 Controller 布局。
最佳答案
partial 的重点在于它只渲染 View 的一部分,并且在没有任何布局的情况下渲染它。
我建议创建一个新 View (以及我们 Controller 中的操作),例如shared/full_panel_show,它只渲染部分内容。
<%= render :partial => 'shared/panel_show' %>
现在在您的 Controller 中渲染新 View :
def show
render :action => 'shared/full_panel_show'
end
根据您对显示 View 的掺杂,您可以只从其 View 中渲染部分内容。
关于ruby-on-rails - Rails 渲染如何在 Controller 中工作?为什么它不使用布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272322/