2013-10-29 28 views
2

我正在使用Feedzirra,并试图根据发布日期对源数据进行哈希排序。我没有收到任何错误,只是没有排序。以下是我的控制器中的代码:Feedzirra和哈希分类

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 

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

+0

这里看一看:[诱骗排序在红宝石哈希(http://stackoverflow.com/a/12833824/2312749) – Pol0nium

回答

0

在红宝石哈希不保留项目顺序,你不能依靠它。 可选地建立二维阵列的阵列,以维持秩序:

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

我实际上最终使用该项目的数据库,但在另一个项目上成功使用了您的方法。谢谢您的帮助! –