5

Tôi đã làm theo hướng dẫn tại đây http://railsforbeginners.com/chapters/chapter-9-infinite-scroll/ để cuộn vô hạn. Các mã hoạt động tốt tại địa phương nhưng khi tôi triển khai nó để sản. các liên kết phân trang (1 2 3 4) vẫn hiển thị và cuộn vô hạn không kích hoạt. Tôi cũng đã cố gắng để thêm các tập tin trong assets.rb không thành côngjs.erb hoạt động cục bộ nhưng không được sản xuất

Trước Tôi đang sử dụng Rails 4, tôi application.js trông như thế này

//= require jquery2 
//= require jquery.turbolinks 
//= require jquery_ujs 
//= require jquery-ui.min 
//= require bootstrap-hover-dropdown.min 
//= require bootstrap.min 
//= require select2 
//= require infinite_scroll 
//= require turbolinks 

Controller action

respond_to do |format| 
     format.html 
     format.js { render "visitors/index" } 
end 

index.js.erb

$('#my-articles').append('<%= j render @articles %>'); 
<% if @articles.next_page %> 
$('.pagination').replaceWith('<%= j will_paginate @articles %>'); 
add_tweets(); 
<% else %> 
$(window).off('scroll'); 
$('.pagination').remove(); 
<% end %> 



function add_tweets(){ 
    <% @articles.each do |article|%> 
    handle_open_modal("<%= article.id %>"); 
    <%end%> 

} 
+0

Làm cách nào để xem xét các công cụ dành cho nhà phát triển web và kiểm tra 404 trong tab mạng ở đó? –

+0

Bạn có thể xóa turbolinks khỏi ứng dụng của mình và kiểm tra –

+0

Bạn có thể thêm cấu hình tệp production.rb không? – Zero

Trả lời

0

Dưới đây là những gì tôi đã làm để làm cho nó làm việc sử dụng This Reference

Tôi đã gỡ bỏ turbolinks và tất cả đó là tài liệu tham khảo

Sau đó thêm này vào index.html.erb mà không cần phải sử dụng jQuery $(document).on('ready

if ($('#infinite-scrolling').size() > 0){ 
     $(window).on('scroll', function(){ 
      var more_posts_url = $('.pagination .next_page a').attr('href') 
      heights = $(document).height() - $(window).height() - 500 
      if(more_posts_url && $(window).scrollTop() > heights){ 
       $('.pagination').html('<img src="/assets/ajax-loader.gif" alt="Loading..." title="Loading..." />') 
       $.getScript(more_posts_url) 
      } 
     }); 
    } 

Sau đó, tất cả các *.js.erb bắt đầu hoạt động.

Tôi đã cố gắng tránh loại bỏ turbolinks nhưng đã cố gắng làm cho nó hoạt động với nó.

0

Trong bạn assets.rb

Hãy thử dòng này:

config.assets.precompile += ['Index.js'] 

-> Rails chỉ có thể tham khảo file theo tên tập tin (không ERB) tài sản của họ

cũng như một vấn đề của phong cách bạn nên chữ thường tên tập tin để : index.js.erb

+0

Như tôi đã đề cập ở trên, tôi đã thử tệp 'assets.rb' bao gồm giải pháp của bạn mà không có may mắn. Ngoài ra CAP trong chỉ mục chỉ là một lỗi đánh máy. Cảm ơn bạn đã thử –

0

Bạn có chắc chắn rằng jQuery đang tải không? Như đã đề xuất ở trên bằng cách vào công cụ phát triển Mạng và tải lại. Tài sản của bạn có được biên dịch trước trong môi trường sản xuất không? Đảm bảo bạn có config.serve_static_assets này = true trong cấu hình của bạn/application.rb Đối Heroku và Rails 4 thấy here

+0

Jquery đã được tải tốt và tất cả nội dung đã được thêm chính xác. Như tôi đã tìm thấy trước đây trên SOF và Google –

Các vấn đề liên quan