Intermedio Ramaze Routing Help Please
Domanda
Parte 1:
ho una chiamata a layout(:default){|path,wish| wish !~ /rss|atom|json/}
ma le richieste per /foo/bar.json
sembrano pensare wish
è html
e utilizza il layout in ogni caso. Come posso risolvere questo problema?
Parte 2:
Voglio percorso /path/to/file.ext
modo che chiama il metodo to
sul controller mappato /path
e usi ext
nel formulare il ritorno. Esiste un migliore (più elegante) modo per fare questo che passando il 'file.ext' al metodo to
, analizzarlo, e facendo parte dei casi? Questa domanda sarebbe stato più succinto se avessi scritto, come si fa a fare REST con Ramaze? Sembra che ci sia una risposta di Google Gruppi a questo, ma non posso accedervi per qualche motivo.
Soluzione
class ToController < Controller
map '/path/to'
provide( :json, :type => "application/json") { |action, val| val.to_json }
def bar
@barInfo = {name: "Fonzie's", poison: "milk"}
end
end
Questa JSON restituisce regolatore normale quando si richiede /path/to/bar.json
e utilizza l'involucro di layout + leggi quando si richiede /path/to/bar
(Ramaze non ha alcuna impostazione di layout di default, il layout in questo esempio viene dalla classe padre Controller).