【问题标题】:Feedzirra and Hash SortingFeedzirra 和哈希排序
【发布时间】:2025-12-04 02:40:02
【问题描述】:

我正在使用 Feedzirra,并尝试按发布日期对 Feed 数据的哈希值进行排序。我没有收到错误或任何东西,只是没有排序。这是我的控制器中的代码:

class ClassifiedsController < ApplicationController
  def index
    require 'feedzirra'

    feed_urls = ["http://newjersey.craigslist.org/jjj/index.rss", "http://cnj.craigslist.org/jjj/index.rss"]
    feeds = Feedzirra::Feed.fetch_and_parse(feed_urls)

    x = 1
    @items = Hash.new

    feeds.each do |feed_url, feed|

      feed.entries.each do |entry|
        @items[x] = {:title => entry.title, :url => entry.url,
                     :published => entry.published.to_i}
        x = x + 1
      end

    end

    @items.sort_by { |k, v| v[:published] }
  end
end

任何帮助将不胜感激。谢谢!

【问题讨论】:

标签: ruby-on-rails ruby feedzirra


【解决方案1】:

在 Ruby Hash 中不保留项目顺序,您不能依赖它。 或者构建一个二维数组的数组以保持顺序:

[ 
  ["item1", "value1"],
  ["item2", "value2"]
]

【讨论】:

  • 我实际上最终为那个项目使用了一个数据库,但在另一个项目上成功地使用了你的方法。感谢您的帮助!