Rails3 will_paginate 哈希对象

发布于 2024-10-04 06:50:40 字数 303 浏览 2 评论 0原文

看起来 will_paginate 不支持对哈希对象进行分页。 我有一个文章列表,它基本上是我想要在页面上输出的 yaml 文件的集合。

def index
  @articles = Dir["#{Rails.root}/blog_articles/*.yml"].inject({}) do |h, file|
    h["#{File.basename(file, '.yml')}"] = YAML::load(File.open(file))
    h
  end
end

谁能建议我如何为此编写分页? 谢谢。

Looks like will_paginate dosen't support paginating a hash object.
I have a list of articles which is basically a collection of yaml files that i want to output on a page.

def index
  @articles = Dir["#{Rails.root}/blog_articles/*.yml"].inject({}) do |h, file|
    h["#{File.basename(file, '.yml')}"] = YAML::load(File.open(file))
    h
  end
end

Can anyone suggest me on how to write the pagination for this?
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七堇年 2024-10-11 06:50:40

在您的控制器中:

def index 
  @articles = Dir["#{Rails.root}/blog_articles/*.yml"].inject({}) do |h, file|   
    h["#{File.basename(file, '.yml')}"] = YAML::load(File.open(file)) 
    h 
  end 

  # paginate the keys of the hash instead of the hash itself
  @article_keys = @articles.keys.paginate
end    

在您的视图中:

<% @article_keys.each do |k| %>
  <%= @articles[k] %>

In your controller:

def index 
  @articles = Dir["#{Rails.root}/blog_articles/*.yml"].inject({}) do |h, file|   
    h["#{File.basename(file, '.yml')}"] = YAML::load(File.open(file)) 
    h 
  end 

  # paginate the keys of the hash instead of the hash itself
  @article_keys = @articles.keys.paginate
end    

In your views:

<% @article_keys.each do |k| %>
  <%= @articles[k] %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文