Ho installato un nuovo server per i miei studenti. Slackware 11, ruby
1.8.5 compilato da me medesimo, rails 1.2.3. Quando provo a usare una
qualsiasi applicazione Rails in CGI, non riconosce la route di
default. Con webrick l’applicazione funziona. Con cgi invece, se
creo un controller pippo con la sua brava index, e provo a chiedere
http://foo/~matteo/pippo oppure http://foo/~matteo/pippo/index, mi
dice nel log:
/home/matteo/public_html/dispatch.cgi:10
no route found to match “/pippo/index” with {:method=>:get}
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/routing.rb:1292:in
recognize_path' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/routing.rb:1282:in
recognize’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:40:in
dispatch' /home/matteo/public_html/dispatch.cgi:10 no route found to match "/pippo" with {:method=>:get} /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/routing.rb:1292:in
recognize_path’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/routing.rb:1282:in
recognize' /usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:40:in
dispatch’
/home/matteo/public_html/dispatch.cgi:10
Lo so che CGI per Rails in generale è troppo lento, ma per me è il
giusto compromesso per insegnare agli studenti a far funzionare
un’applicazione sul server senza entrare nella complicazione (e
consumo di RAM) di FCGI.
Qualcuno mi sa dare un aiuto? Ho dimenticato qualcosa?
Il workaround è di esplicitare tutte le azioni nel routes.rb, ma è
effettivamente una palla.
M