Rails 3 - render partial js.erb

匿名 (未验证) 提交于 2019-12-03 08:50:26

问题:

I have a simple search form that looks something like:

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 

I then have a js.erb template: *app/views/search/_query.js.erb*

$('#search-results').update("<%= escape_javascript(render(@summaries)) %>"); 

However, I don't see anything being put into the 'search-results' div. Do I need some sort of template in order to render "@summaries"? If so, what would it be named and where would I place it (i.e. app/views/search?) (i am using jquery and rails 3)

Thanks.

回答1:

you should rename your template file:

app/views/search/_query.js.erb => *app/views/search/query.js.erb 

underscore is unnecessary



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!