Rails определяет набор магии с именованными маршрутами, которые делают помощников для ваших маршрутов. Иногда, особенно с вложенными маршрутами, может быть немного запутанным, чтобы отследить, какой URL вы получите для данного вызова метода вспомогательного маршрута. Можно ли с помощью консоли Ruby увидеть, какую ссылку сгенерирует данная вспомогательная функция? Например, учитывая именованный помощник, такой как post_path (post), я хочу посмотреть, какой URL генерируется.
ruby-on-rails
Дерек Турн
источник
источник
app.get "/"
затем просто instance_eval требуемые методы, так как они теперь защищены по умолчанию. Примерно так:app.instance_eval{ post_path(post) }
app.teh_path
все еще работает в Rails 4.0 и полезен для отделения путей к движку от основных путей приложения.mount Spree::Core::Engine, :at => '/'
, тогда вы будете получать доступ к путям через имя двигателя, напримерapp.spree_core_engine.some_path
. Или, если «engine_name» настроено на что-то другое, как в этом коде, то вы бы сделалиapp.spree.some_path
.host
параметр следующим образом:app.article_url(my_article, host: 'mydomain.com')
Вы также можете
изнутри консольных сессий для доступа к помощникам:
или
источник
Rails.application.routes.url_helpers.users_path
?В консоли Rails переменная app содержит объект сеанса, в котором вы можете вызывать path и URL helpers как методы экземпляра.
источник
Вы всегда можете проверить вывод
path_helpers
в консоли. Просто используйте помощник сapp
источник
Помните, если ваш маршрут разделен именами, как:
Тогда попробуйте:
вывод
источник
spree
пример, ты ангел, упавший с небес.