2011-03-01 47 views
0

我有一个应用程序,我想要使用“content_for”以及左侧导航栏来呈现菜单,然后其余部分是我的文档的主体。但是,在我的左栏和菜单区域中,html标记正在被转义。我看到一篇关于在收益率之前使用原材料的帖子,但这没有帮助。rails 2.3.7内容的问题

花了相当一段时间在真实应用程序中尝试诊断它之后,我创建了一个非常简单的测试,并且能够用最少的代码来完成它。以下是我有:

layouts.application.erb

<body> 
    <section id="page"> 
     <header> 
      <nav class="clear"><%= raw yield :navigation %></nav> 
     </header> 

     <%= yield %> 

    </section> 
    </body> 
</html> 

页/ index.html.erb

<% content_for :navigation do %> 
    <ul><li><%= link_to 'New page', new_page_path %></li></ul> 
<% end %> 

<h1>Listing pages</h1> 

<table> 
    <tr> 
    <th>Title</th> 
    <th>Body</th> 
    </tr> 

<% @pages.each do |page| %> 
    <tr> 
    <td><%=h page.title %></td> 
    <td><%=h page.body %></td> 
    <td><%= link_to 'Show', page %></td> 
    <td><%= link_to 'Edit', edit_page_path(page) %></td> 
    <td><%= link_to 'Destroy', page, :confirm => 'Are you sure?', :method => :delete %></td> 
    </tr> 
<% end %> 
</table> 

当我在浏览器中点击的页面,导航部分(实际上是链接,但不是列表,这对于菜单来说有点重要:))

这是来自一个全新的rails pro ject使用脚手架生成的代码,只是修改默认链接到导航部分(并添加该部分)。

回答

0

当您将内容放置在一边而不是显示时,转义就会发生。尝试在content_for内使用raw

<% content_for raw :navigation do %>