Бесконечная прокрутка в рельсах с haml

Я пытаюсь внедрить бесконечную прокрутку в свой проект. Я сделал все, как в этом руководстве: https://github.com/amatsuda/kaminari/wiki/How-To:-Create-Infinite-Scrolling-with-jQuery Но у меня это не работает :(

Контроллер:



      def show
        category = Category.find(params[:id])
        products = category.products.page(params[:page])
        @category = CategoryDecorator.decorate(category)
        @products = ProductDecorator.decorate_collection(products)

        respond_to do |format|
          format.js
          format.html
          format.xml  { render :xml => @products }
        end    
      end

show.html.haml:



    #products_list
      %page
        = render 'products_list'

    :javascript  
      $(function() {
        var page = 1,
            loading = false;

        function nearBottomOfPage() {
          return $(window).scrollTop() > $(document).height() - $(window).height() - 200;
        }

        $(window).scroll(function(){
          if (loading) {
            return;
          }

          if(nearBottomOfPage()) {
            loading=true;
            page++;
            $.ajax({
              url: '/universes/nautique/sports/surfwear/categories/boarshorts?per_page=' + page,
              type: 'get',
              dataType: 'script',
              success: function() {
                $(window).sausage('draw');
                loading=false;
              }
            });
          }
        });

        $(window).sausage();
      }());

    - content_for :javascript do
      = javascript_include_tag "jquery.sausage"

Неполный _products_list.html.haml:



    - @products.each_with_index do |product,index|
      .block-prodlist{ data: { index: product.id } }
        .inner.onfocus
          .selection
            %label AJOUTER À MA SÉLECTION
            %input.chk{:name => "", :type => "checkbox", :value => ""}/
          .thumbproduit
            = index
            %img{:alt => "Produit", :height => "194", :src => "/assets/editorial/produit1.jpg", :width => "194"}/
            .prixcaption -20%
          .context
            %h3 
              = product.brand_name

И show.js.haml:



    $("#products_list").append("#{escape_javascript(render(@products))}");

Я не вижу show.js в моем firebug.


person bmalets    schedule 13.04.2013    source источник
comment
/;Это не работает или я. Как это не работает (кроме не прокрутки, я имею в виду, что именно вы видите). Вы видите ошибки в консоли javascript?   -  person Michael Durrant    schedule 13.04.2013
comment
Вам нужно знать консоль javscript и использовать инструменты веб-разработчика, чтобы в основном добиться чего-либо с этим материалом. Фактическая реализация (таких инструментов) зависит от вашего браузера. В наши дни лучшие разработчики, которых я знаю, часто используют Chrome. Помогает объяснить, почему доля рынка выросла с 0% до 50% всего за 4 года!   -  person Michael Durrant    schedule 13.04.2013


Ответы (1)


Ошибка была со скриптом магазина - show.js.haml

Я изменил @products на свое частичное имя:



     $("#products_list").append("#{escape_javascript(render('products_list'))}");

person bmalets    schedule 13.04.2013