我有,看起来像一个简单的搜索页面:的Rails 3 - 渲染部分js.erb
应用程序/视图/搜索/ 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”?如果是这样,它会被命名,我将它放在哪里(即应用程序/视图/搜索?)(我正在使用jQuery和rails 3)
谢谢。
我不认为jQuery有一个'.update'方法。试试'.html'? Firebug会在控制台中抛出任何错误吗? – Dogbert 2011-03-16 12:52:01
我切换到.html,没有区别。什么是“渲染(@summaries)”将呈现?我在猜测我错过了一个观点或部分观点。 – codecraig 2011-03-16 12:55:10