Rails.cz » Články » Návody » Jak na RSS v Rails
Jak na RSS v Rails
Krátký a jednoduchý návod jak vytvořit RSS v Ruby on Rails. Pokud někdo neví o co jde, tak technické informace jsou na Wikipedii - RSS a zjednodušeně lze říct, že RSS je něco co vám pomůže např. sledovat všechny články které vyjdou na stránkách, které vás zajímají.
Takže předpokládejme, že chceme RSS pro články v našem blogu. Máme tabulku articles a k ní model Article, není asi třeba tohle dál rozvádět.
Kontroler articles_controller.rb - načteme posledních 10 článků a renderujeme šablonu (bez layoutu)
def rss
@articles = Article.find(:all, :limit => 10, :order => 'articles.publish_datetime DESC')
render :layout => false
end
Šablona rss.rxml - pokud vás zajímá co která značka zajímá, tak vyšel pěkný článek třeba na Intervalu - RSS? RSS!. Značek můžete použít samozřejmě více, záleží na vašich potřebách, tohle je taková minimalistická verze.
xml.instruct!(:xml, :version => "1.0")
xml.rss(:version => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/", "xmlns:atom" => "http://www.w3.org/2005/Atom") do
xml.channel do
xml.title('Náš Blog - Články')
xml.link('http://www.nasblog.cz/articles/rss')
xml.tag!("atom:link", :href => 'http://www.nasblog.cz/articles/rss', :rel => "self", :type => "application/rss+xml")
xml.description('RSS feed článků z našeho blogu.')
@articles.each do |article|
xml.item do
xml.title(h article.title)
xml.tag!("dc:creator", h(article.creator.nick))
xml.description(h article.content)
xml.pubDate(article.publish_datetime.strftime("%a, %d %b %Y %H:%M:%S %z"))
xml.link('http://www.nasblog.cz/articles/' + article.permalink)
xml.guid('http://www.nasblog.cz/articles/' + article.id.to_s, :isPermaLink => false)
end
end
end
end
Tak a máme RSS hotové, na konec ještě malé vylepšení. Pokud chcete, aby se vám v adresním řádku prohlížeče zobrazovala ikona RSS (jako je na obrázku) a vaši návštěvníci tak o RSS byli informováni, vložte do HTML hlavičky následující:

<head>
.
.
<link href="/articles/rss" rel="alternate" title="Články" type="application/rss+xml" />
</head>
<body>
.
.
03.11.2008 07:06 - Tomáš Pavelka [poslední změna 06.11.2008 16:13]
Komentáře
Jojo, dobrá připomínka.
Tomáš Pavelka 07.11.2008 12:36






Cau, super za zdroj o Rails v cestine.
Misto davani odkazu natvrdo radsi ale radit lidem, at vyuzijou helper: http://www.railsbrain.com/api/rails-2.1.2/doc/index.html?a=M001999&name=auto_discovery_link_tag#
karmi 05.11.2008 16:07