我认为这是一个非常简单的问题,我可能只是错误地解决它,因为我不熟悉rails,但是它在这里......
我想要做的是使用yield在我的应用程序布局中呈现部分视图的结果。我的页面顶部有一个搜索栏,我希望结果显示在布局的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 :(得分:0)
您在视图中没有events/search.html.erb
模板。创建此视图模板,它将显示在yield
所在的位置。