run rails migrations generate example commands ruby-on-rails rake

ruby on rails - rails - Qué significa.: Formato significa en las rutas de rake



ruby on rails run migrations (2)

.: el formato coincide con un tipo mime.

Por ejemplo, si envía una solicitud buscando index.html, el formato captura "html" como: formato.

Luego en tu controlador será procesado por algo como

respond_to do |format| format.html { #do something like redirect in here } end

Escribo rutas de rake y recibo un montón de urls como este - /articles/:id(.:format)

Mi pregunta es: ¿qué significa el .:format ? No está claro en el artículo Enrutamiento de Guías de Rails y no hay otras coincidencias útiles para el .:format En StackOverflow o Google. Hay un formato similar que es /:controller(/:action(/:id(.:format))) que tampoco entiendo.

Gracias

EDITAR la pregunta de seguimiento -

Si quisiera solo enrutar páginas HTML. ¿Sería una buena práctica especificar algo como.: Html en la ruta o usar.: Format y simplemente escribir un bloque respond_to para format.html? ¿Se ignorarían todos los otros formatos en este último caso?


Ese es el formato del archivo que se solicita. Por ejemplo, si desea una imagen, probablemente tendría una extensión de archivo en la solicitud; por ejemplo, example.com/example_image.png le daría el formato como png . Esto se incluye en la solicitud para que pueda variar el tipo de respuesta en función del formato solicitado, según sea necesario.

Para un ejemplo de uso, es posible que desee permitir que un recurso se represente como un pdf, como una página html y como json. Probablemente escriba algo como esto:

respond_to do |format| format.html { ... } format.pdf { ... } format.json { ... } end

Luego haga llamadas de render separadas bajo los formatos respectivos.

EDITAR:

Explicación de GET /:controller(/:action(/:id(.:format))) :controller#:action -

Primero, un poco sobre el formateo. Los paréntesis significan que un dato dado es opcional. Los dos puntos significan que cualquier cadena que encuentre en la URL correspondiente se debe pasar al controlador dentro del hash de params.

Esto es esencialmente un comodín de comodín que intentará hacer coincidir un número muy amplio de solicitudes a un controlador. Por ejemplo, digamos que esta es su única ruta y alguien intenta obtener ''/ users''. Esto asignará a los users al UsersController y, de forma predeterminada, el index llamada / procesamiento dentro de él. Si alguien obtiene users/new , se llamará a la new acción dentro del controlador. Si se llama id y format , también se pasarán al controlador.