繁体   English   中英

Rails jQuery无页面问题

[英]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.

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