Публикации на тази страница:

Генериране на RSS в Rails сайт/приложение

Примерно генериране на RSS в Rails сайт/приложение. Примера е от кода на sharesnippets.com

Controller:

  def rss
    begin
    user = User.find_by_login(params[:user])
      @page_title = user.login  + " at www.sharesnippets.com"
 
    @posts = Post.find :all, :conditions => {:private => false, :user_id => user.id}, 
:order => "created_at desc"
    respond_to do |format|
      format.xml  { render :layout => false }
    end
    rescue
      flash[:notice] = 'Няма такъв потребител !'
      redirect_to root_url
      return false      
    end  
  end


View: rss.xml.builder
xml.instruct!

xml.rss "version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do
  xml.channel do

    xml.title @page_title
    xml.link root_url
    xml.pubDate CGI.rfc1123_date(@posts.first.updated_at) if @posts.any?
    xml.description @page_title

    @posts.each do |post|
      xml.item do
        xml.title post.title
        xml.link url_for(:only_path => false, :controller => 'posts', 
:action => 'show', :id => post.permalink)
        xml.description post.body.gsub(/\n/, "<br />")
        xml.pubDate CGI.rfc1123_date(post.created_at)
        xml.guid url_for(:only_path => false, :controller => 'posts', 
:action => 'show',:id => post.permalink)
        xml.author post.user.login
      end
    end

  end
end