Dica: Testando rotas no console

21 de setembro de 2008  |  Ruby on Rails  | 

Andei brincando muito com rotas nomeadas ultimamente. O problema é que eu precisa de uma forma bem rápida de testar se as rotas que eu estava criando estavam realmente funcionando, enquanto eu editava o arquivo route.rb. E a melhor forma que encontrei foi testar as rotas no console do Rails.

Para isto bastou executar dois trechos de código antes de começar com a brincadeira:

$ ./script/console
# Loading development environment (Rails 2.1.1)

>> include ActionController::UrlWriter
# => Object

>> default_url_options[:host] = "example.com"
# => "example.com"

Agora é só testar as rotas:

>> user_url(1)
# => "http://example.com/users/1"

>> user_photos_url(1)
# => "http://example.com/users/1/photos"

Outro problema é que quando o arquivo route.rb é alterado, isto não reflete no console. Para ter acesso as últimas modificações, toda vez que houver uma atualização você terá de executar:

>> reload!
# Reloading...
# => true

Boa diversão!

Atualização

O Nando Vieira e o Daniel Lopes deram uma dica que eu não conhecia, que aliás torna muito mais fácil fazer a mesma coisa. Veja os comentários abaixo.


4 Comentários


  1. Alternativamente, é possível utilizar o objeto `app`,

    app.user_url(1)
    app.user_photos_url(1)

  2. Eu também uso o objeto “app”, acho mais simples… e se você quiser que ele imprima o domínio mas real é só atribuir o valor a variável de instância host.

    Por exemplo
    app.host = “www.nomedojogo.com”
    app.accounts_url # => http://www.nomedojogo.com/contas

  3. Poxa… assim é muito mais fácil!

  4. Ah, para complementar… tem também o objeto `helper`, que, d’oh, tem todos os helpers! ;)

Trackbacks

  1. Dica: Listando as rotas no console | felipediesel.net

Deixe um comentário