rails.i は初めてです。ドロップダウン リストから値を選択して、jquery を使用してコンテンツを並べ替えたいと考えています。jqueryを使用して特定のコントローラーアクションにフォームを送信するのに問題があります。多くの製品を持つカテゴリ モデルがあります。私のカテゴリ ショーでは、次のようなフォームがあります。
<%= form_for(:category, :url => sort_category_path, method: 'GET', :class=> " form-inline pull-left") do |f| %>
Sort By :
<select id ="sort" name= "order_by">
<option>Default</option>
<option>Name</option>
<option>Pirce</option>
</select>
<%end%>
このフォームでは、 :category の意味がわかりません。フォームを送信するためのJquery:
$('select#sort').change(
function(e){
$(this).closest('form').trigger('submit');
});
次に、私のカテゴリコントローラーには、次のような sort_item アクションがあります。
def sort_item
@category_sort = Category.find(params[:id])
@products = @category_sort.products.order("#{params[:order_by].to_s} ASC")
end
リクエストに対するレスポンスの送信方法がわかりません。サーバーログには次のように書かれています:
2013-11-11 12:53:49 +0600 で 127.0.0.1 の GET "/en/categories/tshart/sort_item?utf8=%E2%9C%93&order_by=Pirce" を開始しました HTML パラメータとして CategoriesController#sort_item による処理: { "utf8"=>"✓", "order_by"=>"Pirce", "locale"=>"en", "id"=>"tshart"} カテゴリの読み込み (0.3ms) SELECT categories
.* FROM categories
WHERE categories
. slug
= 'tshart' LIMIT 1
http://test.com/en/categories/tshartにリダイレクト されました :find_category がレンダリングまたはリダイレクトされたため、フィルター チェーンが停止しました
test.com は localhost:3000 の略であることに注意してください。
ここで何が間違っているのか知りたいのですが、並べ替えが機能しないのはなぜですか、または並べ替えタスクを達成するためのより良い方法はありますか?
私を助けてください 。前もって感謝します。