2010-04-18 7 views

Antwort

15

Wohin mit benutzerdefinierten Klassen in Rails? Um lib Verzeichnis


Um Ihre spezifischen RssReader Klassenfrage.

Der beste Code auf dieser Seite geschrieben ist in Kommentar von Veez (30.7.2008). Schluss Code soll wie folgt aussehen (nicht getestet)

# lib/rss_reader.rb 
require 'rss/2.0' 
require 'open-uri' 

class RssReader 

    def self.posts_for(feed_url, length=2, perform_validation=false) 
    posts = [] 
    open(feed_url) do |rss| 
     posts = RSS::Parser.parse(rss, perform_validation).items 
    end 
    posts[0..length - 1] if posts.size > length 
    end 

In Controller

# for last five messages 
require 'rss_reader' 
def some_action 
    @posts = RssReader.posts_for(rss_url, 5, false) 
end 

In Ansicht (neu geschrieben von Kommentar in HAML zu ERB)

<ul> 
    <% @posts.each do |post| %> 
    <li><%= post.title %> - <%= post.description %></li> 
    <% end %> 
</ul> 

Uhr RSS::Parser.parse Parameter für weitere Einzelheiten.


Ich denke, RSS-Feed-Reader Modell in Rails sein sollte. Sehr einfache RSS-Feed-Reader wird von Travis on Rails beschrieben (lesen Sie Kommentare, müssen Sie nicht offene Methode verwenden).