shallow rails namespace examples concerns ruby-on-rails ruby ruby-on-rails-3 routes

ruby-on-rails - namespace - resources do rails



¿Diferencia entre recurso y recursos en rieles de enrutamiento? (4)

Creo que sólo la vista de índice.

También se han reportado problemas con el enrutamiento con el ayudante de recursos y los ayudantes de formularios. Personalmente, utilizo la sintaxis:

resources :someresource, except: :index

con el fin de evitar los errores reportados .

¿Cuál es la diferencia entre el resource y los resources en el enrutamiento de los rieles?

resource :geocoder

y

resources :posts

¿Cuál es la diferencia real entre ellos?


En esencia, los recursos de enrutamiento se producen cuando los recursos otorgan capacidades de acción a un controlador.

http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use

Si un recurso pluralizado se usa como una forma de manejar solicitudes genéricas en cualquier artículo, entonces un recurso singular es una manera de trabajar en el artículo actual en cuestión.

Entonces, en otras palabras, si tengo una colección de Manzanas, para recuperar una manzana específica, tendría que decirle al enrutador "Manzanas" qué manzana recuperar mediante el envío de la ID de la manzana. Si ya tengo una Apple, entonces no es necesaria una identificación.

Observe las diferencias entre los dos al observar qué acciones (o rutas) tienen:

  • recursos: índice , nuevo, crear, mostrar, editar, actualizar, destruir
  • recurso: nuevo, crear, mostrar, editar, actualizar, destruir

En tu ejemplo:

  1. El controlador "geocodificador" es un recurso singular que puede utilizar para editar, crear, actualizar, etc.
  2. El controlador "publicaciones", es un recurso plural que manejará las publicaciones genéricas entrantes que puede indexar, editar, crear ... etc.

http://guides.rubyonrails.org/routing.html#singular-resources

A veces, tiene un recurso que los clientes siempre buscan sin hacer referencia a una identificación. Por ejemplo, le gustaría que / perfil siempre muestre el perfil del usuario que ha iniciado sesión actualmente. En este caso, puede usar un recurso singular para mapear / perfil (en lugar de / profile /: id) para la acción de mostrar.

Una buena manera de verlo es que el recurso no tiene una acción de índice, ya que se supone que es solo uno.


Recursos singulares:

A veces, tiene un recurso que los clientes siempre buscan sin hacer referencia a una identificación. Por ejemplo, le gustaría que /profile siempre muestre el perfil del usuario que ha iniciado sesión actualmente.

O, normalmente, el usuario que ha iniciado sesión actualmente pertenece a una sola organización, por lo que para ir a su página de perfil de organización puede haber dos rutas

#1 /organizations/:id #2 /organization #simply

Aquí, la implementación posterior tiene más sentido; ¿No lo es? obtienes el objeto de organización de la asociación

# in organizations#show @organization = current_user.organization

Para definir un recurso tan singular, use el método de resource : Ejemplo

# in routes.rb resource :organization

crea seis rutas diferentes en su aplicación, todas asignadas al controlador de Organizaciones:

mientras que usted define los recursos plurales utilizando el método de resources

resources :organizations