• will_paginate 分页问题 at 2014年11月03日

    #9 楼 @JIAZHEN 确实,我之前也想过办法,想用这 10 条数据显示到第 40 页。我的方案是在这 10 条数据之前插入 index 1 - 39 页的空值,即 39 * 10 = 390 个空值。这样 array 的 size 就可以满足将这 10 条数据显示到第 40 页的需求。

    但是如果需要显示第 1000 页,就需要插入 1000 * 10 = 10000 个空值,这样效率太低。

    1 您说 architecture 层面的实现方式不好,意思是否是说 API 返回一个长度为 10 的 array 的方式不好呢?

    2 在采用 API 返回数据的情况下,您有什么好的方案来解决这个问题吗?

  • will_paginate 分页问题 at 2014年11月03日

    #6 楼 @JIAZHEN API 返回的确实是 10 条数据,但问题是没法将这 10 条数据显示在第 40 页上。

    问题具体描述如下:

    ·@value = array.paginate(:per_page => per_page, :page => page, :total_entries => total_length)·

    我将第 40 页的 10 条数据存到 array 中,参数 per_page = 10, page = 40, total_length = 1000,这种情况下网页显示第 40 页数据为空,因为此时@value的值为 nil. 如果我将前 40 页的所有 400 条数据保存在 array 中,网页则可以正常显示第 40 页数据。

    谢谢!

  • will_paginate 分页问题 at 2014年11月03日

    #5 楼 @small_fish__ api 返回的就是一页的 10 条数据,问题是前端如何使用这一页的数据显示在第 40 页上。

  • will_paginate 分页问题 at 2014年11月01日

    #3 楼 @gyorou 您好,我的问题不单单是要把 array 转化为 relation。

    我的问题是要显示第 40 页的 10 条数据,而我从后台取到的数据就是一个长度为 10 的对象数组,数组中的数据就是要显示在第 40 页的 10 个值。

    此时没有 Model,如何使用 will_paginate 和这个数组将正确的数据显示在第 40 页上?

    ·@value = array.paginate(:per_page => per_page, :page => page, :total_entries => total_length)· 简单这么用显示的第 40 页的数据为空。

    谢谢!

  • will_paginate 分页问题 at 2014年10月31日

    #1 楼 @itomato 1 您的意思是说如果用 relation,那么生成的 SQL 语句就只会取一页的数据? 2 现在的场景只能采用 array,因为数据是调用 API 取得的,API 返回的就是数组。是否有方法能将 array 转化为 relation?

    谢谢!

  • #10 楼 @huacnlee 我可以理解为 unicorn 会缓存 manifest.json 文件吗?因为原文件名到带 MD5 值的编译后的文件名的映射是保存在 mainifest.json 文件里的。

  • #7 楼 @huacnlee 另外多问您一句,为什么 unicorn 不重启会导致 html 中调用 js 的 url 不变呢?

  • #7 楼 @huacnlee 刚刚检查了一下,确实是 unicorn 没有重启导致的,谢谢您!

  • #5 楼 @huacnlee

    1. 我确定 Rails.env 是 qa,我部署的是测试环境,config/environment/qa.rb 中 config.assets.digest = true,预编译的命令为 RAILS_ENV=qa bundle exec rake assets:precompile。
    2. Rails.env 确定不是 production,请问 production 环境的 Rails 部署和其他环境部署有什么区别吗?

    config/environment/qa.rb的截图如下:

  • #3 楼 @huacnlee 我在原帖里把问题重新描述了一遍,请查看

  • #1 楼 @huacnlee 不是啊,是测试环境,用的是 Unicorn