2012-10-10 50 views
0

我觉得这是一个很简单的问题,我可能只是绕了不正确的,因为我是新来的轨道,但这里有云......导轨 - 产生部分的布局

什么我想要做的是使用yield来渲染我的应用程序布局中的部分视图的结果。我在页面的顶部有一个搜索栏,我希望结果显示在布局的良率中。再次,我不确定这是否是正确的方法,如果不是,请让我知道最好的方法。

现在,当我尝试在我的页面上使用搜索时,出现“缺少模板事件/搜索”错误。如果我添加以下代码到控制器它得到所有的信息正确,但在应用布局不渲染,它只是显示部分:

render :partial => "events/search_results" 

下面是相关的部分控制器的样子:

layout "application" 

def search 
    @events = Event.search params[:search] 
end 

这里是应用程序布局(请原谅的格式,我试图使它易于阅读):

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>XXXXXXX</title> 
    <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"type="text/javascript"></script> <![endif]--> 
    <%= stylesheet_link_tag "application", :media => "all" %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
</head> 
<body> 
    <div class="navbar navbar-top"> 
    <div class="navbar-inner"> 
    <div class="container"> 
      <%= render :partial => "events/search" %> 
    </div> 
    </div> 
    </div> 

<div class="container-fluid"> 
    <div class="row-fluid"> 
      <div class="span1"> 
      </br> 
       <div class="well well-small"> 
        <center><h3>Filters</h3></center> </br> 
        <%= render :partial => "events/left_severity_filter" %> 
        <%= render :partial => "events/left_date_filter" %> 
       </div> 
      </div> 

     <div class="span8"> 
         <%= yield %> 
        </div> 
     <div class="span3"> 
         <%= render :partial => "events/right_filter" % 
     </div> 
    </div> 
</div> 

任何帮助将不胜感激。谢谢。

+0

你还可以发布你的应用程序布局吗? – MrTheWalrus

回答

0

您在视图中没有events/search.html.erb模板。创建该视图模板,它将显示在yield所在的位置。

+0

完美的工作!万分感谢! – CookieEmpire