【发布时间】:2023-03-11 09:00:03
【问题描述】:
我有一个简单的搜索表单,看起来像:
app/views/search/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>
*app/controllers/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 模板: *app/views/search/_query.js.erb*
$('#search-results').update("<%= escape_javascript(render(@summaries)) %>");
但是,我没有看到任何内容被放入“搜索结果”div。我需要某种模板来呈现“@summaries”吗?如果是这样,它将被命名为什么以及我将它放置在哪里(即 app/views/search?)(我正在使用 jquery 和 rails 3)
谢谢。
【问题讨论】:
-
我不认为 jQuery 有
.update方法。试试.html? Firebug 会在控制台中抛出任何错误吗? -
我切换到 .html,没有区别。 “渲染(@summaries)”将渲染什么?我猜我错过了一个视图或部分视图。