kaminari paginate通过ajax,remote = true不影响rails 3中的视图

Aja*_*rot 6 javascript ajax pagination ruby-on-rails-3 kaminari

您好我正在使用kaminari gem进行分页,我想通过ajax进行paginatation.

index.html.haml

#abc
 = render :partial => 'anything/anything_lists', collection: @anything_upcoming, as: :anything_schedule
#paginator
 = paginate @anything_upcoming, :remote => true, :param_name => "anything_upcoming_page"
Run Code Online (Sandbox Code Playgroud)

index.js.haml

$('#abc').html('#{escape_javascript render(partial: "anything/anything_lists")}');
$('#paginator').html('#{escape_javascript(paginate(@anything_upcoming, :remote => true, :param_name => "anything_upcoming_page").to_s)}');
Run Code Online (Sandbox Code Playgroud)

控制器文件:

@anything_upcoming = AnythingSchedule.anything_upcoming.page(params[:anything_upcoming_page]).per(Settings.pagination.per_page)

respond_to do |format|
  format.js
  format.html
end
Run Code Online (Sandbox Code Playgroud)

view source显示data-remote = true但是log将Website :: EventsController #index显示为HTML.所以我在这里失踪了.

编辑:我正在js文件上做一些实验,我将index.js.haml转换为index.js.erb,只有一次我得到ajax请求,并且还显示在日志上调用JS.我再次重做然后像往常一样没有得到ajax请求.

最终编辑 application.js

//= require jquery
//= require jquery_ujs 
//= require ckeditor-jquery
//= require bootstrap.min
//= require bootstrap-datepicker.min
//= require bootstrap-timepicker.min
//= require chosen.jquery.min
//= require jquery.popupoverlay
//= require common
//= require ace-elements.min
//= require registrations
//= require courses
//= require instructors
//= require jsapi
//= require donation
//= require workshops
//= require nav_settings_dropdown
//= require events
//= require event_schedules
//= require manage_home
//= require jquery.blockUI
//= require rails
Run Code Online (Sandbox Code Playgroud)

宝石文件

gem 'rails', '3.2.17'
gem 'haml'
gem 'haml-rails'
gem "rails_config", "~> 0.3.3"

group :assets do
gem 'sass-rails',   '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'jquery-fileupload-rails'
gem 'jammit'
end

gem 'jquery-rails'
gem "kaminari", "~> 0.14.1"
Run Code Online (Sandbox Code Playgroud)

Har*_*dik 9

你一定忘了application.js在你的布局文件中包含它

要么

您使用的是另一个js或布局,然后是默认布局.请检查一下

Reasone:

分页的语法是正确的

= paginate @anything_upcoming, :remote => true, :param_name => "anything_upcoming_page"
Run Code Online (Sandbox Code Playgroud)

你还包括了jquery-railsgem,还包括了库application.js

而你说的data-remote = true是应用于元素.所以我猜的唯一问题就是一个问题.