javascript - 用于在 Rails 中无限滚动的 jScroll

标签 javascript jquery ruby-on-rails infinite-scroll

我是 Rails 和 javascript 的新手。我在 ruby​​ on rails 中开发了一个小应用程序,它使用 solr 的 sunspot 在数据库中搜索产品。我曾经使用 kaminari 的分页来显示内容。但现在我想取消它并改用无限滚动。我指的是下面的无限滚动条。 https://github.com/pklauzinski/jscroll 我想将其集成到我的 Rails 应用程序中。我该怎么做? 这是我的 Controller 代码:

             def show

                    if params[:name].nil?
                     @search = []
                    else
                     @search = Sunspot.search(Clothes) do
                     fulltext params[:name]
                     paginate :page => params[:page], :per_page => 24
                     order_by :maxprice
                    end


                  @results = @search.results
                  end
                flash[:alert] = "Enter something!"
                end

              def autocomplete
                 list=[] 
                 @res = Clothes.search do
                 fulltext params[:term]
                 paginate :page => 1, :per_page => 100
                 order_by :maxprice
                 end
               @rest = @res.results
               @rest.each do |brand|
               list << {"label"=>brand.name, "value"=>brand.name, "id"=>brand.id}
                end
               respond_to do |format|
               format.json{render :json=>list.to_json, :layout=>false}
                end
              end
             end

这是我的 View 代码:

             <div id="container">

          <% for prod in @results %>
          <div class="product">
             <div class="image"><%= image_tag(prod.image, :alt => "logo", :size => "75x75") %> </div>
                <div class="name"><h3> <%= prod.name %> </h3></div>
                <div class="price"><h5>Old Price:</h5><%= prod.maxprice%></div><div class="price"> <h5>New Price:</h5><%= (prod.maxprice)-(prod.maxprice * prod.discount / 100) %></div>    
           </div>
           <% end %>
             <% else %>
               <div class="notice"><%= flash[:alert] %></div>

                 <% end %>
            </div>

还有我的自动完成和处理我的 ajax 的脚本代码。

                        <script>
                     $(document).ready(function() {
                    $.ajax({
                   url : "shirts/first",
                   type : "GET"
                    });
                 $("#name").autocomplete({
                 source : "shirts/autocomplete",
                 autoFocus : false,
                 minLength : 1,
                 select : function(event, ui) {
                 document.getElementById("name").value = ui.item.value;
            $.ajax({
            url : "shirts/show?name=" + ui.item.value,
            type : "GET"
            });
             }
               });
                     }); 
                     </script>

最佳答案

嘿,伙计,你可以试试这个 http://railscasts.com/episodes/114-endless-page

关于javascript - 用于在 Rails 中无限滚动的 jScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21450064/

相关文章:

javascript - 这个 JavaScript 对象数组表达式 {}[] 是什么意思?

javascript - Angular 的 JQ Lite 函数(triggerHandler 方法)在 Internet Explorer 11 中不起作用

javascript - 如何在 HTML/Javascript 中循环更改文本?

javascript - 定位具有相同类名的特定 jquery 元素

javascript - Jquery-UI 的 _render 函数在自动完成中不起作用

ruby-on-rails - 为什么要在数据库主机上保留应用程序的副本?

javascript - AAPT : No resource found that matches the given name: attr 'android:keyboardNavigationCluster'

javascript - 从 URL 获取值并创建 Javascript 函数

ruby-on-rails - rake Assets 预编译失败

javascript - 将 json 结果添加到表单操作 url