Molti dei miei utenti continuano a passare all'URL di app http://(rails), ma in realtà non ho un blog. Finalmente ho installato un blog Posterous e ora voglio dirigere i miei utenti lì. C'è un modo per configurarlo usando routes.rb? C'è un modo migliore che non implichi la modifica del file httpd.conf?Creazione di un percorso di rails verso un URL esterno
risposta
Dipende dalla versione di Rails che si sta utilizzando.
Rails 3
# in routes.rb
match "/blog" => redirect("http://example.com/blog"), :as => :blog
Rails 2
# in routes.rb
map.blog '/blog',
:controller => "a_helper_controller",
:action => "redirect_to_blog"
# in a_helper_controller.rb
def redirect_to_blog
redirect_to "http://example.com/blog"
end
So che questo è vecchio, quindi nel caso in cui qualcun altro ha bisogno di questo per le rotaie 4:
get "/blog" => redirect("http://example.com/blog")
Usa get invece di Match in Rails 4, altrimenti riceverai un errore di runtime
Sembrava funzionare per me, ma ho un problema da un cliente che utilizza internet explorer: Associazione file Tipo MIME: application/json, Windows non riconosce questo tipo MIME. – user1434177
Molto utile per quello su cui stavo solo lavorando. Grazie mille! – kdweber89
Qualcuno sa come farlo in rails 5? Non sembra funzionare come in Rails 4 ma non riesco a trovare risorse su questo per i binari 5. Continuo a ricevere un 404. – JohnSalzarulo
Grazie per questo. Qualche suggerimento su quale controller metterlo o come nominare un nuovo controller helper? –
Cosa fare se si desidera utilizzare target = "_ blank" nel percorso? Potrebbe essere specificato un percorso come questo: def external_url(); "Http://example.com/blog"; fine definito in routes.rb? Penso che l'unica soluzione per quelli sia definirli come aiutanti. – tothemario
Grazie mille! –