2013年5月29日水曜日

Ruby on Railsで、RSSフィード

Ruby on Rails(3.2.13)で、RSSフィードです。:layout => falseに指定して、RSSフォーマットで出力するようにすればOKです。viewsではRSSフォーマットを全て面倒見てくれます。

/app/controllers/news_controller.rb
def feed
  @news = News.order("created_at DESC")

  respond_to do |format|
    format.rss { render :layout => false }
  end
end
/app/views/news/feed.rss.builder
xml.instruct! :xml, :version => "1.0" 
xml.rss :version => "2.0" do
  xml.channel do
    xml.title "実験サイト、延々"
    xml.description "新着お知らせです。"
    xml.link news_index_url

    for news in @news
      xml.item do
        xml.title news.title
        xml.description news.detail
        xml.pubDate news.created_at.to_s(:rfc822)
        xml.link news_url(news)
        xml.guid news_url(news)
      end
    end
  end
end
実際に設定してみたサイトがこちら



参考サイト
railsでrssフィードを作る(うんたらかんたらRubyさん)
How do I make an RSS/Atom feed in Rails 3?(Stack Overflow)

0 件のコメント:

コメントを投稿