У меня был link_to
, который создавал бы пути, такие как domain.com/shopname
. Выглядело это так:Как работает эта маршрутизация Rails?
routes.rb
get 'shop/:username' => 'users#profile'
index.html.erb
<%= link_to user.shop_name, user.username %>
Однако я хотел путь, чтобы быть domain.com/shops/shopname
и Я закончил с этим:
routes.rb
get 'shop/:username' => 'users#profile', :as => :shop
index.html.erb
<%= link_to user.shop_name, shop_path(user.username) %>
Это работает, но я не понимаю, почему!
Это работает, потому что вы используете его точно так же, как и предусмотрено. Я не уверен, как это объяснить, просто вы хотите сбросить исходный код? Вы используете 'routes.rb' для создания вспомогательного метода, который выводит относительный URL-адрес. Какая часть сбивает с толку? Весь процесс маршрутизации, создание 'shop_path', что? Этот вопрос является безответным и вне темы в его нынешнем виде. – meagar