Rieles: recursos de anidación más de 1 nivel de profundidad.

En mi aplicación, los usuarios tienen muchas conversaciones y las conversaciones tienen muchos mensajes. Lógicamente estructuré mis recursos de la siguiente manera:

resources :users do resources :conversations do resources :messages end end 

Para mí, esta es una estructura lógica. Pero se recomienda nunca anidar recursos con más de 1 nivel de profundidad.

Entonces, ¿debería hacer de Conversaciones un recurso independiente o simplemente seguir adelante y romper la pauta? ¿Cuáles son las ventajas e inconvenientes globales de cada enfoque?

Gracias.

Pero se recomienda nunca anidar recursos con más de 1 nivel de profundidad.

Creo que puedes ignorar con seguridad ese “consejo”. Puedes anidarlos tanto como quieras. Con frecuencia anido 3 y 4 niveles de profundidad en mis aplicaciones.

El único consejo es cumplir con los requisitos del negocio. si necesita tener 2 niveles profundos, simplemente intente cómo funciona con : shallow => true . pero claro, rara vez se usa más de 1 nivel profundo en la práctica