Я работаю над страницей профиля, поэтому конфигурация такая:
routes.rb
=><code> match "user/:login(*path)" => 'users#profile', :as => :profile</code>
rake routes
=> profile /user/:login(*path)(.:format) {:action=>"profile", :controller=>"users"}
on console
> <code>Rails.application.routes.recognize_path("/user/example/whatever")</code>
=> {:action=>"profile", :login=>"example", :controller=>"users", :path=>"/whatever"}
И у меня есть действие профиля в UsersControllers.Но когда я использую
<%= link_to user.name, profile_path(user.login) %>
в представлении, я получаю ошибку
No route matches {:login=>"example", :controller=>"users", :action=>"profile"}
Чего мне не хватает?Спасибо
Обновление:
Спасибо за ответ и внимание, Стив!
После долгих попыток коллега нашел то, чего мне не хватало: проблемабыло только с некоторыми логинами, которые тоже являются электронными письмами, с "@", "." и т. д. Решением было добавление to_url в params [: login] в link_to:
<%= link_to 'name', profile_path(params[:login]<strong>.to_url</strong>) %>
Еще раз спасибо за внимание!