#ruby-on-rails #routes #rails-routing
#ruby-on-rails #маршруты #рельсы-маршрутизация
Вопрос:
Я использую Rails 2.3.9. и у меня есть типовой проект, для которого у меня есть url_name столбца. Я добавил универсальный маршрут в routes.rb, чтобы я мог обрабатывать входящие URL-адреса, такие как:
www…/1-folder-nr
www…/2-folder-test
www…/3-rails (вы поняли идею).
До этого у меня был project_books_url (@project) для использования в контроллере и представлениях.
Но теперь мне нужно что-то, чтобы заменить этот project_books_url (@project), что-то, что сгенерирует мне полный URL?
Есть ли что-то, что действует так же, как помощник xxx_url, чтобы я мог использовать его в контроллере?
Если у кого-то есть какие-либо идеи или предложения, мы будем очень признательны. Спасибо.
Ответ №1:
Почему бы вам просто не написать вспомогательный метод, который генерирует все, что вы хотите?
def project_books_path(project)
"/#{project.to_param}"
end
helper_method :project_books_url
Комментарии:
1. Спасибо, я добавил вспомогательный метод, и он помогает в некоторой части приложения, но все еще есть части, где мне нужен полный URL, а не только / 3-test, мне нужно http://…./3-test будут возвращены, есть идеи?
2. Предположительно, вы можете настроить определение пути в соответствии с вашими потребностями, верно?
Ответ №2:
Вы можете использовать метод
url_for(:controller :action)
http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for