简体   繁体   English

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

[英]kaminari paginate via ajax ,remote = true is not affect on view in rails 3

Hello i am using kaminari gem for pagination and i want to do paginatation via ajax .您好,我正在使用 kaminari gem 进行分页,我想通过 ajax 进行分页。

index.html.haml索引.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"

index.js.haml 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)}');

controller file:控制器文件:

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

respond_to do |format|
  format.js
  format.html
end

view source shows data-remote = true but log shows Website::EventsController#index as HTML.视图源显示 data-remote = true 但日志将 Website::EventsController#index 显示为 HTML。 so what i am missing here.所以我在这里缺少什么。

Edit : i am doing some experiment on js file and i convert index.js.haml to index.js.erb and only one time i get ajax request and also shows calling JS on logs .编辑:我正在对 js 文件做一些实验,我将 index.js.haml 转换为 index.js.erb 并且只有一次我收到 ajax 请求并且还显示在日志上调用 JS。 and i redo again then as usual not get ajax request .我再次重做然后像往常一样没有收到ajax请求。

Final Edit application.js最终编辑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

Gem file宝石文件

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"

you must have forgotten to include the application.js in your layout file您一定忘记在布局文件中包含application.js

OR或者

you are using another js or layout then the default one.您正在使用另一个 js 或布局,然后是默认的。 Please check this请检查这个

Reason :原因

The syntax for the pagination is correct分页语法正确

= paginate @anything_upcoming, :remote => true, :param_name => "anything_upcoming_page"

you have also included jquery-rails gem and also included the libraries in application.js您还包含了jquery-rails gem 并在application.js包含了库

and you are saying data-remote = true is applying to the element.并且您是说data-remote = true应用于该元素。 So the only problem I guess left is above one.所以我猜剩下的唯一问题是高于一个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM