什么是Ruby On Rails的默认respond_to格式以及如何添加新的格式?

Art*_*iro 2 content-type ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

我想添加rss,atom和一些自定义的,例如返回配置文件图像的那些.

der*_*red 6

你可以注册这样的新的(把它放在你的config/environment.rb,config/environments/*.rb文件之一或config/initializers下的文件中):

Mime::Type.register 'application/pdf', :pdf
Mime::Type.register 'application/vnd.ms-excel', :xls
Run Code Online (Sandbox Code Playgroud)

至于默认的:

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