2
我目前使用sunspot_rails gem作为简单的“craigslist”电子商务应用程序,我想通过JQuery Ajax加载搜索结果/排序(而不是页面请求)。然而,我很难得到这个工作,任何想法? JQuery正在为其他插件工作。非常感谢你!Sunspot Solr Rails通过JQuery Ajax搜索/排序?
搜索项控制器动作和排序功能
def search
@search = Item.search do
fulltext (params[:search])
order_by sort_column, sort_direction
end
@items = @search.results
end
def sort_column
Item.column_names.include?(params[:sort]) ? params[:sort] : "created_at"
end
def sort_direction
%w[asc desc].include?(params[:direction]) ? params[:direction] : "desc"
end
search.js
$("#itemsfeed").html(<%= escape_javascript(render('feed')) %>);
项目助手
def sortable(column, title = nil)
title ||= column.titleize
css_class = column == sort_column ? "current #{sort_direction}" : nil
direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc"
link_to title, params.merge(:sort => column, :direction => direction, :page => nil), {:class => css_class}
end
search.html.erb
<script>
$(document).ready(function() {
$("#itemsfeed th a").live("click", function() {
$.getScript(this.href);
return false;
});
});
</script>
<% form_tag search_items_path, :method => 'get' do %>
<div class='searchbox'>
<%= text_area_tag :search, params[:search], :id => 'tags', :cols => '40', :rows => '1' %>
</div>
<%= submit_tag "Search", :name => nil, :class => 'submitbtn' %>
<br/>
<div id='itemsfeed'><%= render 'feed' %></div>
<% end %>
feed.html.erb
<tr>
<th><%= sortable "price" %></th>
<th><%= sortable "created_at" %></th>
</tr>
<%= hidden_field_tag :direction, params[:direction] %>
<%= hidden_field_tag :sort, params[:sort] %>
<ol><%= render :partial => 'shared/item', :collection => @items %></ol>
发布routes.rb的相关部分。 search.html.erb指定动词/方法“get”。也许你的路线只回应“发布”?你的日志告诉你什么?它甚至收到请求吗? – pduey
我需要做些什么:remote => true?和分拣作品它只是不是ajaxy,也是路线搜索:资源:项目做 收集做 得到:搜索 结束 结束 – ahuang7