Domanda

Sto cercando di accedere a una risorsa di rotaie app da un'API (invia un / richiesta GET applicazione XML) e vorrei non dover analizzare il file XML.

In mie risorse regolatore Ho il seguente:

def get_resource
    @my_resource = Resources.new
    render :xml => @my_resource
end

che produce un file XML come previsto. Se lo sostituisco con:

render :layout => false

il mio API segnala un "modello mancante" errore. Ho anche provato il seguente:

render :xml => @identity, :layout => false

Ma la pagina rende in ogni caso. Qual è il modo giusto per andare su questo?

È stato utile?

Soluzione

Quando si esegue il rendering: xml, non utilizza un layout in quanto non utilizza alcun modello sia. Specificando: layout => false, si raccontano le rotaie di cercare un modello che non esiste

.

Ora, se non si vuole analizzare un file XML, quindi avete un paio di alternative. O:

render :json => @my_resource

o

render :text => "My resource name is: #{@my_resource.name}" # Whatever you want

Tutto dipende da come si desidera che il risultato allo sguardo, ciò che il vostro API si aspetta di ricevere. Quindi, se non trovate nulla di tutto questo utile, dare un esempio di come si desidera che la risposta al look.

Altri suggerimenti

def get_resource
  @my_resource = Resources.new
  respond_to do |wants|
    wants.xml { render :xml => @my_resource }
    wants.html { render :layout => false }
  end
end

Leggi questo articolo: http://tokumine.wordpress.com/2009/09/13/how-does-respond_to-work-in-the-rails-controllers/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top