Was sind Standard respond_to Formate für Ruby On Rails und wie über das Hinzufügen von neuen gehen?

StackOverflow https://stackoverflow.com/questions/1317599

Frage

So, hier ist was ich habe:

  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

Ich möchte rss, atom hinzufügen und möglicherweise einige benutzerdefinierte diejenigen, wie einer, der das Bild für das Profil zurück.

War es hilfreich?

Lösung

Sie können neue Register wie folgt aus (Ort dies in Ihrer config / environment.rb, einer der config / Umgebungen / * rb Dateien oder in einer Datei unter config / initializers.):

Mime::Type.register 'application/pdf', :pdf
Mime::Type.register 'application/vnd.ms-excel', :xls

Wie für die es auch keine:

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

Andere Tipps

Sie können die resource_feeder in Schienen gebaut, dies zu tun:

script/plugin install simply_helpful
script/plugin install resource_feeder

Im Profil-Controller:

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

Ende

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top