我正在使用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中Hash不保留项顺序,您不能依赖它。
或者,构建一个二维数组数组以保持顺序:

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

关于ruby-on-rails - Feedzirra和哈希排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19661673/

10-08 22:05