Я пытаюсь изменить маршруты рельсов от /users/ 1 до/username. В настоящее время я настроил это так, чтобы он работал для действий показа и редактирования. Фактическая проблема заключается в том, что когда я иду обновлять пользователя, используя:
<%= form_for @user do |f|%>
Он никогда не обновляется, потому что действие обновления направляется на /users/: id. Есть ли способ маршрутизировать это так, чтобы он работал для /username? (который является маршрутом, который выполняет в моих формах как действие). Я уже немного почесываю голову над этим.
EDIT:
Проблема заключается не в маршрутизации к имени пользователя, а в правильной работе. Проблема заключается в том, что форма маршрутизируется в /username для обновления, однако маршрут обновления для пользователей по-прежнему остается /users/: id вместо:/id.
Я попробовал обновить свои маршруты до этого, но безрезультатно:
match '/:id', :to => "users#show", :as => :user
match '/:id', :to => "users#update", :as => :user, :via => :put
match '/:id', :to => "users#destroy", :as => :user, :via => :delete
EDIT:
Doh! Это устранило проблему:
match '/:id', :to => "users#show", :as => :user, :via => :get