So che molti sviluppatori di rotaie sostengono che annidare le proprie risorse più di 2 livelli in profondità è un errore. Sono anche d'accordo perché diventa disordinato quando le tue url sono come mysite.com/account/1/people/1/notes/1. Sto cercando di trovare un modo per utilizzare le risorse annidate, ma senza annidarle a 3 livelli di profondità.Rails 3 risorse nidificate a livello profondo
Questo è il modo sbagliato di farlo poiché gli sviluppatori di rails non lo consigliano ed inoltre è molto difficile capire come nidificarlo nella vista del controller o del modulo.
resources :account do
resources :people do
resources :notes
end
end
Il modo corretto rotaie sviluppatori dicono che questo dovrebbe essere fatto è come così
resources :account do
resources :people
end
resources :people do
resources :notes
end
Ecco il problema che ho sempre incontrato. Quando mai visito account/1/persone posso aggiungere una persona all'account e diciamo che l'url è simile a mysite.com/account/1/people/1 e che funziona bene.
Ora, se provo ad accedere alle mysite.com/people/1/notes dal conto 1 ho l'errore
Non riesci a trovare le persone senza conto e id
Come può ottenere questo per funzionare correttamente?
Al momento non sono a conoscenza dei miei percorsi, non so come posso accedere a persone/note senza l'ID dell'account. Rails lancia questo errore 'Impossibile trovare l'account senza ID' – Yooku
Ho aggiornato la risposta. Spero che chiarisca le cose – jamesc