Sto provando a cambiare i percorsi dei binari da/users/1 a/username. Al momento l'ho impostato in modo che funzioni per le azioni di visualizzazione e modifica. Il problema reale è che quando vado per aggiornare l'utente utilizzando:Rails route to username invece di id
<%= form_for @user do |f|%>
Non è mai aggiornamenti, perché l'azione di aggiornamento è indirizzato a/utenti /: id. C'è un modo per instradare questo in modo che funzioni per/username? (che è la rotta che viene resa nei miei moduli come azione). Mi sono grattato la testa su questo per un po 'di tempo.
EDIT:
Il problema non è di routing per nome utente, che funziona correttamente. Il problema è che il modulo indirizza a/nome utente per l'aggiornamento, tuttavia il percorso di aggiornamento per gli utenti è ancora/utenti /: id invece di:/id.
ho provato ad aggiornare i miei percorsi da questo, ma senza successo:
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! Questo risolto il problema:
match '/:id', :to => "users#show", :as => :user, :via => :get
sarebbe meglio specificare 'param:: username' in percorsi f ile? Perché il param non dovrebbe più essere chiamato ': id', ma dovrebbe invece essere chiamato': username' –