Recursos aninhados em profundidade de nível 3 do Rails
Eu sei que muitos desenvolvedores de trilhos dizem que aninhar seus recursos mais do que 2 níveis de profundidade é errado. Eu também concordo porque fica confuso quando seus URLs se parecem com mysite.com/account/1/people/1/notes/1. Eu estou tentando encontrar uma maneira de usar recursos aninhados, mas sem aninhando-os 3 níveis de profundidade.
Essa é a maneira errada de fazer isso, já que os desenvolvedores de rails não recomendam isso e também é muito difícil descobrir como aninhar isso no controlador ou na visualização de formulário.
resources :account do
resources :people do
resources :notes
end
end
A maneira correta desenvolvedor rails diz que isso deve ser feito é assim
resources :account do
resources :people
end
resources :people do
resources :notes
end
Aqui está o problema que eu sempre me deparo. Sempre que eu visito account / 1 / people posso adicionar uma pessoa à conta e digamos que o URL é como mysite.com/account/1/people/1 e que funciona bem.
Agora, se eu tentar acessar o mysite.com/people/1/notes da conta 1, recebo o erro
Não é possível encontrar pessoas sem e ID da conta
Como isso pode funcionar corretamente?