2012-02-19 8 views
6

Ho una rotta senza risorse che utilizza un token SHA nel percorso. Qui è in mio file routes.rb:Qual è il percorso link_to per una rotta senza risorse?

match 'permissions/confirm/:token' => 'permissions#confirm' 

posso accedere al percorso generato, ma non so cosa passa dentro per l'helper link_to.

Ecco quello che sto usando per il link_to, che non sta funzionando:

<%= link_to "Give permission", confirm_permission_path(:token => @permission.token) %> 

Pensieri?

risposta

11

Aggiungi :as chiave per il percorso come match 'permissions/confirm/:token' => 'permissions#confirm', :as => :confirm_permissions

Poi <%= link_to "Give permission", confirm_permissions_path(:token => @permission.token) %>

+0

Questo sembra avere un senso, e sembra buono quando guardo i 'rake routes', ma sto ancora ricevendo un errore del metodo non definito:' metodo non definito confirm_permission_path'. – Scott

+0

E 'solo che dovrebbe essere 'confirm_permissions_path', pluralized –

+0

Sì, quello sembrava essere il problema Grazie! – Scott

3

È sempre possibile utilizzare rake routes per capire qual è il nome di un percorso. Ricontrollo continuamente l'output di quell'attività di rake per accertarmi di utilizzare la route corretta o non riposante corretta.

+0

'routes' rastrello mostra che il percorso è'/permessi/conferma /: Token (:. Formato) '. Ma non sono sicuro di come dovrebbe essere il link_to helper per quella rotta. – Scott

+4

Quando si esegue 'rake routes', ci sono 3 colonne di dati. La prima colonna è il link_to path, ad esempio: 'users_path'. La seconda colonna è il formato (ad esempio '/ users/index (.: Format)'. Infine, la terza colonna è l'azione e il controller (ad esempio '{: controller => etc ...}'. Quindi guarda prima colonna e vedrai i dati che ti servono – MrDanA

Problemi correlati