Devo mappare un url srtutturato come segue in routes:
map.connect ‘image/:width/:height/:image’, :controller => ‘default’,
:action => ‘images’
problema:
il parametro :image è una url (/images/pippo.jpg)
come si fà ?
Devo mappare un url srtutturato come segue in routes:
map.connect ‘image/:width/:height/:image’, :controller => ‘default’,
:action => ‘images’
problema:
il parametro :image è una url (/images/pippo.jpg)
come si fà ?
dimenticavo, chiaramente non voglio passarlo come parametro (es:
/image/200/100?image=/images/pippo.jpg) funzionerebbe ma voglio degli
url leggibili
Mettilo in coda (route globbing mi sembra si chiami)
http://api.rubyonrails.org/classes/ActionController/Routing.html
2009/7/3 Alessandro S. [email protected]
2009/7/3 Alessandro S. [email protected]
dimenticavo, chiaramente non voglio passarlo come parametro (es:
/image/200/100?image=/images/pippo.jpg) funzionerebbe ma voglio degli
url leggibiliPosted via http://www.ruby-forum.com/.
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml
Siccome non uso Rails da un bel pò e non ho libri sotto mano mi sembra tu
possa usare il “catch all routes”.
map.connect ‘*path’, :controller => ‘home’, :action => ‘catcher’
def catcher
path = request.path
# => “/the/url/you /had/written”
end
Se non ricordo male, prima dovresti poter mettere anche delle chiavi
come
quello che ti serve, ma non ne sono sicuro.
–
Andrea R., http://mikamai.com
Writing http://sensejs.wordpress.com/
Collaborating http://therubymine.it
Reading http://stacktrace.it
Alessandro S. wrote:
in questo caso)
in più, alla url_for puoi anche passare un array, senza fare tu a mano
la join. questo evita anche che l’URL generata abbia dei %2F al posto
degli /
Andrea
Alessandro S. wrote:
Sandro P. wrote:
Mettilo in coda (route globbing mi sembra si chiami)
http://api.rubyonrails.org/classes/ActionController/Routing.html2009/7/3 Alessandro S. [email protected]
come si suol dire “basta leggere le api” quella sezione l’avevo proprio
saltatala soluzione per i posteri è quindi :
map.connect ‘image/:width/:height/*image’, :controller => ‘default’,
:action => ‘images’a questo punto *image crea un array che contiene tutti i parameti che
seguono (basta fare una join(“/”) e si ha il path corretto dell’immagine
in questo caso)Thanx!!
A me non funziona:
http://127.0.0.1:3000/home/10/10/pippo/imagei.jpg
nel controller
@path = params[:image]
e in index.hmtl.erb
<%= @path %>
la mia route è cosi:
map.connect ‘home/:width/:height/*image’, :controller => ‘home’, :action
=> ‘index’
Qualcuno ha idea?
Sandro P. wrote:
Mettilo in coda (route globbing mi sembra si chiami)
http://api.rubyonrails.org/classes/ActionController/Routing.html2009/7/3 Alessandro S. [email protected]
come si suol dire “basta leggere le api” quella sezione l’avevo proprio
saltata
la soluzione per i posteri è quindi :
map.connect ‘image/:width/:height/*image’, :controller => ‘default’,
:action => ‘images’
a questo punto *image crea un array che contiene tutti i parameti che
seguono (basta fare una join(“/”) e si ha il path corretto dell’immagine
in questo caso)
Thanx!!
Piuttosto che passare un parametro del tipo: /images/pippo.jpg
non puoi creare una route del tipo:
map.connect ‘image/:width/:height/images/:image’,
:controller => ‘default’,
:action => ‘images’
dove il parametro è solo pippo.jpg?
Anche perché così facendo puoi, meglio ancora, usare una route del tipo:
map.connect ‘image/:width/:height/images/:image.jpg’,
:controller => ‘default’,
:action => ‘images’
e con il parametro passare solo il nome “pippo” che puoi facilmente
costruire come preferisci.
Luigi
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs