Jestem całkiem nowy dla Rails 3 i próbuję utworzyć kanał RSS/Atom. Wiem o auto_discovery_link_tag, ale jak powinien wyglądać powiązany kontroler/akcja?Jak utworzyć kanał RSS/Atom w Rails 3?
Dzięki!
Jestem całkiem nowy dla Rails 3 i próbuję utworzyć kanał RSS/Atom. Wiem o auto_discovery_link_tag, ale jak powinien wyglądać powiązany kontroler/akcja?Jak utworzyć kanał RSS/Atom w Rails 3?
Dzięki!
Auto_discovery_link_tag to dobry początek. Szybkie wyszukiwanie w Google i znalazłem posty na blogu pod adresem How to Create an RSS feed in Rails. Pozwól mi wypełnić Ci na co się wiąże kontroler/akcja ma wyglądać następująco:
controllers/posts_controller.rb
def feed
@posts = Post.all(:select => "title, author, id, content, posted_at", :order => "posted_at DESC", :limit => 20)
respond_to do |format|
format.html
format.rss { render :layout => false } #index.rss.builder
end
end
nazwa tego pliku powinna być zgodna z kontrolera. Patrz poniżej:
poglądów/stanowisk/feed.rss.builder
xml.instruct! :xml, :version => "1.0"
xml.rss :version => "2.0" do
xml.channel do
xml.title "Your Blog Title"
xml.description "A blog about software and chocolate"
xml.link posts_url
for post in @posts
xml.item do
xml.title post.title
xml.description post.content
xml.pubDate post.posted_at.to_s(:rfc822)
xml.link post_url(post)
xml.guid post_url(post)
end
end
end
end
To gdzie wszystko dzieje się magia Railsy. Tutaj XML kanału RSS jest generowany i zwracany do HTTP.
Używanie auto_discovery_link_tag:
W regulatorze:
respond_to do |format|
format.html
format.atom {render action: 'index', layout: false}
end
wykonałeś tę pracę za Ciebie? – thatmiddleway
Dzięki Matt, to ma sens, nigdy wcześniej nie słyszałem o pliku .builder. Dla tych, którzy zastanawiają się nad Atomem, właśnie szukałem "rails atom.builder" i otrzymałem bardzo podobny wyglądający fragment kodu, ale dla atomu. (http://www.papodenerd.net/creating-atom-feeds-with-ruby-on-rails/) – simonista
Tak długo, jak życzyłbym sobie, żebyś wybrał Atom na RSS, poleciłbym użyć tylko jednego z nich. Reprezentują one te same informacje i większość nowoczesnej biblioteki obsługującej parsowanie, więc warto je odwiedzić :) Sprawdź te sprawdzone metody: http://blog.superfeedr.com/Feeds/RSS/Atom/Best%20Practice/ feed-publishing-best-practice/ –
Julien, zgadzam się, że ludzie powinni wybrać jedną i iść z nią. Chciałem tylko dostarczyć te same informacje dla Atomu, aby ktoś mógł wybrać jedną z nich po przeczytaniu tej strony. – simonista