Fork me on GitHub

RSSフィード

このレシピではBuilderの Gemを使ってXMLの マークアップを作成する方法を紹介します。

まずは基本から始めてみましょう。

require 'sinatra'
require 'builder' # 忘れないで!

get '/rss' do
  @posts = # ... 投稿を代入します。
  builder :rss
end

それからURLがhttp://liftoff.msfc.nasa.gov/と仮定します。 次にviews/rss.builderに次のファイルを追加しましょう。

xml.instruct! :xml, :version => '1.0'
xml.rss :version => "2.0" do
  xml.channel do
    xml.title "Liftoff News"
    xml.description "Liftoff to Space Exploration."
    xml.link "http://liftoff.msfc.nasa.gov/"

    @posts.each do |post|
      xml.item do
        xml.title post.title
        xml.link "http://liftoff.msfc.nasa.gov/posts/#{post.id}"
        xml.description post.body
        xml.pubDate Time.parse(post.created_at.to_s).rfc822()
        xml.guid "http://liftoff.msfc.nasa.gov/posts/#{post.id}"
      end
    end
  end
end

これはハンドラーから内部へ直接RSSを表示させる 方法です。

Top