RSSフィードを配信する
Rails4
アンテナサイトというのは、RSSで取得した記事をRSSで配信するものらしい。
まとめサイトのおすすめ記事一覧にここRSSフィードを配信して貰えばアクセスアップが見込めそう。とういうことで実装してみた。
posts_controller.rb
def index @posts = Post.order("created_at DESC").limit(20) respond_to do |format| format.rss { render :layout => false } end end
app/views/posts/index.rss.builder
xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8" 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 'ぺろぺろあんてな' xml.description 'まとめサイトの記事を配信します。' xml.link root_url xml.language "ja-ja" xml.ttl "40" xml.pubDate(Time.now.strftime("%a, %d %b %Y %H:%M:%S %Z")) @posts.each do |post| xml.item do xml.title post.name xml.link post_url(post) xml.description post.content xml.guid post_url(post) xml.pubDate post.created_at xml.author "prprantena" end end end end
ブラウザにRSSフィード配信しているサイトであると認識してもらうには、layoutに次のコードを埋め込む。
<%= auto_discovery_link_tag( :rss, "/posts.rss" ) %>