feedback_controller.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. class FeedbackController < ApplicationController
  2.   helper :theme
  3.   before_filter :get_article, :only => [:create]
  4.   cache_sweeper :blog_sweeper
  5.   # Used only by comments. Maybe need move to comments controller
  6.   # or use it in our code with send some feed about trackback
  7.   #
  8.   # Redirect to article with good anchor with /comments?article_id=xxx ou
  9.   # /trackacks?article_id=xxx
  10.   #
  11.   # If no article_id params, so no page found. TODO: See all
  12.   # comments/trackbacks with paginate ?
  13.   #
  14.   # If /comments.rss|atom or /trabacks.atom|rss see a feed about all comments
  15.   # or trackback
  16.   #
  17.   # If article_id params in feed see only this comment|feedback on this
  18.   # article.
  19.   #
  20.   # TODO: It's usefull but use anywhere. Create some extension in xml_sidebar
  21.   # to define this feed.
  22.   def index
  23.     @page_title = self.class.name.to_s.sub(/Controller$/, '')
  24.     respond_to do |format|
  25.       format.html do
  26.         if params[:article_id]
  27.           article = Article.find(params[:article_id])
  28.           redirect_to "#{article.permalink_url}##{@page_title.underscore}"
  29.         else
  30.           render :text => 'this space left blank'
  31.         end
  32.       end
  33.       format.atom { render :partial => 'articles/atom_feed', :object => get_feedback }
  34.       format.rss { render :partial => 'articles/rss20_feed', :object => get_feedback }
  35.     end
  36.   end
  37.   protected
  38.   def get_feedback
  39.     if params[:article_id]
  40.       Article.find(params[:article_id]).published_feedback
  41.     else
  42.       this_blog.published_feedback.find(:all, this_blog.rss_limit_params.merge(:order => 'created_at DESC'))
  43.     end
  44.   end
  45. end