![](/img/trans.png)
[英]undefined method `pageless' using jquery.pageless in Ruby on Rails
[英]Rails jQuery pageless problem
这是交易
我正在尝试解决为何无页面(无限滚动)无法呈现的问题。 使用此jQuery插件
我有按will_paginate分页的产品索引页:
def index
@products = Product.find(:all, :order => "position DESC").paginate(:per_page => 3, :page => params[:page])
if request.xhr?
render :partial => 'shared/products', :object => @products
end
end
我的索引页面称产品为部分
<%= render "shared/products", :object => @products %>
依次将集合传递给单个产品部分
<%= render 'shared/product', :collection => @products %>
如果启用了javascript,则对其进行无页调用(否则will_paginate进入。
<%= pageless(@products.total_pages, products_path) %>
-----------
def pageless(total_pages, url=nil, container=nil)
opts = {
:totalPages => total_pages,
:url => url,
:loaderMsg => 'Loading more results'
}
container && opts[:container] ||= container
javascript_tag("$('#results').pageless(#{opts.to_json});")
end
最后是单数产品部分的代码
<% @products.each do |product| %>
<li id="product_<%= product.id %>">
<%= link_to product_image(product), product %>
</li>
<% end %>
现在,当我加载页面时,没有js错误,我可以看到页面已加载到服务器日志中,但是没有任何内容呈现。 一切似乎都可以正常运行,但无法渲染。 任何帮助,将不胜感激。
-斯科特
产品未附加到html。 原来是html中的class / id问题。 对于尝试调试类似内容的任何人,请参阅乔纳森·特兰(Jonathan Tran)对这个问题的评论。
我更改了一些东西使其可以在rails3上工作:
index.html.erb
<%= render :partial => 'blah/fooPartial' , :locals => { :foo => @foo} %>
<%= will_paginate(@foo) %>
<%= pageless(@foo.total_pages, @path ) %>
我的FooController:
def index
@foo = Foo.paginate(:page => params[:page], :per_page => 10).
order("created_at DESC")
respond_to do |format|
format.js
format.html # index.html.erb
end
end
我的index.js.erb
$('.row').last().after("<%= escape_javascript( render :partial => 'blah/fooPartial' , :locals => { :foo => @foo}).html_safe %>");
还根据ahuang的建议,将jquery.pageless.js中的ajax数据类型从最底端的'html'更改为'script'
希望这会有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.