渲染:部分用:布局在视图中不起作用

时间:2011-04-03 19:25:23

标签: ruby-on-rails ruby-on-rails-3

所以我对:partial渲染有问题...

我有:

index.html.erb查看内容为<%= render :partial => 'partial_test', :layout => 'partial_test' %> index.html.erb' layout with content of&lt;%= yield%&gt;`

_partial_test.html.erb查看简单字符串的内容 内容为_partial_test.html.erb

<div id="_partial"><%= yield %></div>版面

渲染后我从控制器(视图+布局)索引操作中获取了正确的内容,但是从渲染部分我只从视图中获取内容,缺少布局。

我应该得到这样的东西: <div id="index"> <div id="_partial"> simple string </div> </div>

但我得到了 <div id="index"> simple string </div>

这很奇怪,因为当我从控制器索引动作内部使用布局渲染部分时,我得到了正确的视图+布局渲染(仅适用于部分)。

需要帮助:)

2 个答案:

答案 0 :(得分:16)

而不是使用

<%= render :partial => 'partial_test', :layout => 'partial_test' %>

我需要使用的是

<%= render :partial => 'partial_test', :layout => 'layouts/partial_test' %>

答案 1 :(得分:0)

当我阅读Rails文档时,您不想要:

<%= render :partial => 'partial_test', :layout => 'partial_test' %>

你想:

<%= render 'partial_test', :layout => 'partial_test' %>

我不确定你的布局和部分名称有多/为什么相同,但请查看Rails指南:http://guides.rubyonrails.org/layouts_and_rendering.html,第3.4.3节。