Rails define un montón de magia con rutas con nombre que hacen ayudantes para tus rutas. A veces, especialmente con rutas anidadas, puede ser un poco confuso hacer un seguimiento de qué URL obtendrá para una llamada de método auxiliar de ruta determinada. ¿Es posible, usando la consola de Ruby, ver qué vínculo generará una función auxiliar determinada? Por ejemplo, dado un ayudante con nombre como post_path (post), quiero ver qué URL se genera.
ruby-on-rails
Derek Thurn
fuente
fuente

app.get "/"instancia_eval los métodos deseados, ya que ahora están protegidos de forma predeterminada. Algo así como:app.instance_eval{ post_path(post) }app.teh_pathtodavía funciona en Rails 4.0 y es útil para separar las rutas del motor de las rutas principales de la aplicación.mount Spree::Core::Engine, :at => '/', accedería a las rutas a través del nombre del motor, comoapp.spree_core_engine.some_path. O, si el "nombre_motor" está configurado para ser algo diferente como en este código, entonces lo haríaapp.spree.some_path.hostparámetro así:app.article_url(my_article, host: 'mydomain.com')tú también puedes
desde dentro de una consola sesiones para acceder a los ayudantes:
o
fuente
Rails.application.routes.url_helpers.users_path?En la consola de Rails, la aplicación variable contiene un objeto de sesión en el que puede llamar a los ayudantes de ruta y URL como métodos de instancia.
fuente
Siempre puede verificar la salida de
path_helpersen la consola. Solo usa el ayudante conappfuente
Recuerde si su ruta está espaciada por nombre, como:
Entonces intenta :
salida
fuente
spreeejemplo, eres un ángel que cayó del cielo.