ページめくりのために宝石をページにするレールを使用しました。ユーザーがページごとに項目数を選択できるドロップダウンがあります。ページごとに多くのアイテムを表示するようにページングしたい。ページごとに項目を表示するページ番号
このため、selectタグの変更アクションでビューファイルからjqueryを呼び出しています。
ビューコード:
%table.treeTable
%tbody
- Ic.make_tree(@ics).values.each do |root|
%tr{:id => root.tree_id, :class => "root"}
%td= root.root_name
- if show_check_boxes
%td= check_box_tag "ic_glob", root.tree_id, false, :class => "ic_parent"
- root.suites.each do |suite|
%tr{:id => suite.tree_id, :class => "child-of-#{root.tree_id}"}
%td= suite.suite_name
- if show_check_boxes
%td= check_box_tag "ic_glob", suite.tree_id, false, :class => "ic_parent"
- suite.children.each do |case_item|
%tr{:id => case_item.tree_id, :class => "child-of-#{suite.tree_id}"}
%td= case_item.case_name
- if show_check_boxes
%td= check_box_tag "ic_glob", case_item.tree_id, false, :class => "ic_parent"
- case_item.children.each do |ic|
%tr{:id => ic.id, :class => "child-of-#{case_item.tree_id}"}
%td= link_to ic.name, edit_ic_path(ic.id)
- if show_check_boxes
%td= check_box_tag "ic_ids[]", ic.id, false
=will_paginate @ics
Ajaxコード:アヤックスから
$('.ics_per_page').live('change',function(){
$.ajaxSetup({beforeSend: function(xhr) {xhr.setRequestHeader("X-CSRF-Token", $("meta[name='csrf-token']").attr("content")); }});
value1=($(this).val());
$.post('/ics/index', {ics_per_page:value1});
return false;
})
私はインデックスコントローラを呼び出しています。コントロールはコントローラーの内部にありますが、リロードは起こっていません。
コントローラーコード:
def index
ics_per_page=params[:ics_per_page]||5
ics_per_page=ics_per_page.to_i
@ics = Ic.search(params[:root_name],params[:suite_name],params[:case_name],params[:name],'f').paginate(:per_page =>ics_per_page, :page => params[:all_ics])
respond_to do |format|
puts "inside index"
format.html # index.html.erb
format.xml { render :xml => @ics }
end
end
ここに私を助けてください。
ありがとう、 Ramya。
わからないようなjqueryのコールバックを書くが、私は任意のrespond_toのformat.jsが表示されません。あなたはAJAXリクエストを送信していますが、ページを操作するためのレスポンスを使用していません。 – pduersteler
こんにちは私はthis.soコードを実装するためのヒント/アイデアはありません/例の助けを歓迎されます – ramya