No puedo entender cuál es la diferencia entre un espacio de nombres y un alcance en el enrutamiento de ruby-on-rails 3.
¿Podría alguien explicarme?
namespace "admin" do
resources :posts, :comments
end
scope :module => "admin" do
resources :posts, :comments
end
ruby-on-rails
never_had_a_name
fuente
fuente
los ejemplos siempre me ayudan, así que aquí hay un ejemplo:
nos dará las siguientes rutas:
Usando el alcance ...
Nos dará:
Aquí hay una buena lectura sobre el tema: http://edgeguides.rubyonrails.org/routing.html#controller-namespaces-and-routing
fuente
de la guía de rieles
"El alcance de espacio de nombres añadirá automáticamente
:as
, así como:module
y:path
prefijos."entonces
es lo mismo que
fuente
Tanto el alcance como el espacio de nombres están definiendo un conjunto de rutas a las opciones predeterminadas dadas.
Excepto que no hay opciones por defecto para el alcance , y por espacio de nombres
:path
,:as
,:module
,:shallow_path
y:shallow_prefix
todas las opciones por defecto para el nombre del espacio de nombres.Las opciones disponibles tanto para el alcance como para el espacio de nombres corresponden a las de coincidencia .
fuente
El alcance es un poco complejo, pero ofrece más opciones para ajustar exactamente lo que desea hacer.
El alcance admite tres opciones: módulo, ruta y como . Si ve el alcance con todas sus opciones, será exactamente igual que el espacio de nombres.
En otras palabras, las rutas generadas por
es lo mismo que
En otras palabras, podemos decir que no hay opciones predeterminadas para el alcance en comparación con el espacio de nombres. espacio de nombres agrega todas estas opciones por defecto. Por lo tanto, utilizando el alcance, podemos ajustar más las rutas según sea necesario.
Si analiza en profundidad el alcance y el comportamiento predeterminado del espacio de nombres , encontrará que el alcance por defecto solo admite : opción de ruta , donde el espacio de nombres admite tres opciones módulo, ruta y como por defecto.
Para obtener más información, consulte un documento de espacio de nombres y enrutamiento .
fuente