Szyny definiują magię z nazwanymi trasami, które pomagają w twoich trasach. Czasami, szczególnie w przypadku zagnieżdżonych tras, może być trochę mylące, aby śledzić, jaki adres URL otrzymasz dla wywołania metody pomocnika trasy. Czy za pomocą konsoli Ruby można zobaczyć, jaki link wygeneruje dana funkcja pomocnika? Na przykład, biorąc pod uwagę nazwanego pomocnika, takiego jak post_path (post), chcę zobaczyć, jaki adres URL jest generowany.
ruby-on-rails
Derek Thurn
źródło
źródło
app.get "/"
po prostu instancja_pożądanych metod, ponieważ są one teraz domyślnie chronione. Coś w stylu:app.instance_eval{ post_path(post) }
app.teh_path
nadal działa w Rails 4.0 i jest przydatny do oddzielania ścieżek silnika od głównych ścieżek aplikacji.mount Spree::Core::Engine, :at => '/'
możesz uzyskać dostęp do ścieżek za pomocą nazwy silnika, npapp.spree_core_engine.some_path
. Lub, jeśli „nazwa silnika” jest skonfigurowana tak, aby wyglądała inaczej niż w tym kodzie , zrobiłbyś toapp.spree.some_path
.host
parametr:app.article_url(my_article, host: 'mydomain.com')
możesz także
z poziomu sesji konsoli, aby uzyskać dostęp do pomocników:
lub
źródło
Rails.application.routes.url_helpers.users_path
?W konsoli Rails aplikacja zmienna przechowuje obiekt sesji, w którym można wywoływać pomocniki ścieżki i adresu URL jako metody instancji.
źródło
Zawsze możesz sprawdzić dane wyjściowe
path_helpers
w konsoli. Po prostu użyj pomocnika zapp
źródło
Pamiętaj, jeśli twoja trasa jest podzielona na nazwy, np .:
Więc spróbuj :
wynik
źródło
spree
przykład, jesteś aniołem, który spadł z nieba.