2
私は現在、単純な 'craigslist' eコマースアプリにsunspot_rails gemを使用しています。ページリクエストではなく、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
私はする必要があります:リモート=>本当ですか?検索のルートも コレクションdo get:検索 end end – ahuang7