我有一个简单的搜索表单,如下所示:
应用程序/视图/搜索/ index.html.erb
<%= form_for @search, :as => :search, :remote => true, :url => {:action => "query"}, :html => {:id => 'search-form'} do |f| %>
...
<% end %
<div id="search-results"></div>
*应用程序/控制器/ search_controller.rb *
def index
@search = SearchCriteria.new
end
def query
@search = SearchCriteria.new(params[:search])
# otherwise, perform search...
@summaries = do_search @search
respond_to do |format|
format.js
end
end
然后我有一个js.erb模板: *应用/视图/搜索/ _query.js.erb *
$('#search-results').update("<%= escape_javascript(render(@summaries)) %>");
但是,我没有看到任何被放入'搜索结果'div的内容。我需要某种模板来呈现“@summaries”吗?如果是这样,它会被命名,我将它放在哪里(即app / views / search?)(我正在使用jquery和rails 3)
感谢。
答案 0 :(得分:10)
您应该重命名模板文件:
app/views/search/_query.js.erb => *app/views/search/query.js.erb
下划线是不必要的