随着应用程序变大,Firebase
中的数据也会变大。我在Ruby on Rails
中有一个应用程序,它将所有数据存储在Firebase
中。为了显示我刚刚从url数据加载的所有数据JSON
并在视图上显示它。现在它加载数据的速度非常慢,因为它下载了整个JSON
。
有没有办法让firebase对所有数据进行分页并优化负载?
这是我加载数据的方式:
url = URI("******************")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["cache-control"] = 'no-cache'
request["postman-token"] = 'efe418a4-1dcc-335b-28c9-ba72cc2f5aa0'
response = http.request(request)
all_letters = JSON.parse(response.read_body)
im = 1
all_letters.each do |item|
...
end
答案 0 :(得分:0)
如果我必须这样做,我会首先轻松get
来自firebase的页面firebase-ruby
gem
base_uri = 'https://<your-firebase>.firebaseio.com/'
firebase = Firebase::Client.new(base_uri)
response = firebase.push("todos", { :name => 'Pick the milk', :'.priority' => 1 })
response.success? # => true
response.code # => 200
response.body # => { 'name' => "-INOQPH-aV_psbk3ZXEX" }
response.raw_body # => '{"name":"-INOQPH-aV_psbk3ZXEX"}'
然后在页面上显示它们,我会安装will_paginate
Basic will_paginate use
执行分页查询:
@posts = Post.paginate(:page => params[:page])
或者,使用明确的&#34;每页&#34;限制:
Post.paginate(:page => params[:page], :per_page => 30)
在视图中呈现页面链接:
<%= will_paginate @posts %>
那就是它!你完成了。您只需添加一些CSS样式即可使这些分页链接更漂亮。 您可以自定义默认&#34; per_page&#34;值:
用于Post模型
class Post
self.per_page = 10
end
全局设置per_page
WillPaginate.per_page = 10