Как сделать канал RSS / Atom в Rails 3?
Я довольно новичок в Rails 3, и я пытаюсь сделать канал RSS/Atom. Я знаю о auto_discovery_link_tag, но как должен выглядеть связанный контроллер/действие?
спасибо!
2 ответа:
Auto_discovery_link_tag-это хорошее начало. Быстрый поиск Google, и я нашел сообщения в блоге на как создать RSS-канал в Rails. Позвольте мне ввести вас в то, что ваш связанный контроллер / действие должно выглядеть так:
контроллеры/posts_controller.РБ
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
имя этого файла должно соответствовать контроллеру. Смотрите, ниже:
просмотры / сообщения / лента.формат RSS.строитель
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
здесь происходит вся магия Railsy. Здесь создается XML-канал RSS и возвращается в HTTP.