Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails的默认响应格式是什么?如何添加新格式?_Ruby On Rails_Content Type_Feed - Fatal编程技术网

Ruby on rails RubyonRails的默认响应格式是什么?如何添加新格式?

Ruby on rails RubyonRails的默认响应格式是什么?如何添加新格式?,ruby-on-rails,content-type,feed,Ruby On Rails,Content Type,Feed,这就是我所拥有的: def index @profiles = Profile.all respond_to do |format| format.html # index.html.erb format.xml { render :xml => @profiles } format.json { render :json => @profiles } end end 我想添加rss、atom和一些定制的,比

这就是我所拥有的:

  def index
    @profiles = Profile.all

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @profiles }
      format.json  { render :json => @profiles }
    end
  end

我想添加rss、atom和一些定制的,比如为概要文件返回图像的

您可以使用rails中内置的resource_feeder来执行此操作:

script/plugin install simply_helpful
script/plugin install resource_feeder
在配置文件控制器中:

def index
  @profiles = Profile.all

  options = { :feed => { :title => "All Profiles" },
                    :item => { :title => :name } }

  respond_to do |format|
    format.html
    format.xml { render :xml => @profiles
    format.json { render :json => @profiles
    format.rss { render_rss_feed_for @profiles, options }
    format.atom { render_atom_feed_for @profiles, options }
  end

结束

您可以像这样注册新的文件(将其放在config/environment.rb、config/environments/*.rb文件或config/initializer下的文件中):

至于默认值:

>> Mime::SET.map(&:to_sym)
=> [:all, :text, :html, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :xls]
>> Mime::SET.map(&:to_sym)
=> [:all, :text, :html, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :xls]