Step 1
Create a new method in the posts controller.app/controllers/blog_articles_controller.rb
class PostsController < ApplicationController
...
def feed
@posts = Post.all.order('created_at DESC').limit(20)
respond_to do |format|
format.rss { render :layout => false }
end
end
end
Step 2
Add a "view" for the feed.Create the file
app/views/posts/feed.rss.builder
xml.instruct!
xml.rss :version => '2.0', 'xmlns:atom' => 'http://www.w3.org/2005/Atom' do
xml.channel do
xml.title 'Feed title'
xml.description 'Feed description'
xml.link root_url
xml.language 'en'
xml.tag! 'atom:link', :rel => 'self', :type => 'application/rss+xml', :href => feed_url
for post in @posts
xml.item do
xml.title post.title
xml.link post_url(post)
xml.pubDate(post.created_at.rfc2822)
xml.guid post_url(post)
xml.description post.description
end
end
end
end
Step 3
Add a route to /feed in the router file.Edit
config/routes.rb
Add
get 'feed' => 'posts#feed'
Step 4
Add the following entry in the head section of your site template.Edit
views/layouts/application.html.erb
Add a line like
<link href="https://www.your_website.com/feed?format=rss" rel="alternate" title="Your website RSS Feed" type="application/rss+xml"></link>Then you can check Feed Validator for Atom and RSS here: http://feedvalidator.org
After reading this blog i very strong in this topics and this blog really helpful to all... explanation are very clear so very easy to understand... thanks a lot for sharing this blog
ReplyDeleteRuby on Rails Online Course India