usar tutorial rails que español empezar ejemplos descargar curso con como ruby-on-rails routing rails-routing

tutorial - Rutas con Dash `-` En lugar de Subrayar`_` en Ruby on Rails



ruby on rails tutorial español (4)

Con Rails 3 y posterior puedes hacer esto:

resources :user_bundles, :path => ''/user-bundles''

Otra opción es modificar Rails, a través de un inicializador. No lo recomiendo, ya que puede romperse en versiones futuras.

Usar :path como se muestra arriba es mejor.

# Using private APIs is not recommended and may break in future Rails versions. # https://github.com/rails/rails/blob/4-1-stable/actionpack/lib/action_dispatch/routing/mapper.rb#L1012 # # config/initializers/adjust-route-paths.rb module ActionDispatch module Routing class Mapper module Resources class Resource def path @path.dasherize end end end end end end

Quiero que mis direcciones URL utilicen el guión - lugar del subrayado, como separadores de palabras. Por ejemplo, controller/my-action lugar de controller/my_action .

Estoy sorprendido de dos cosas:

  1. Google et al. continuar a distinguirlos.
  2. Que Ruby on Rails no tiene un parámetro de configuración global simple para asignar a _ en el enrutamiento. O lo hace?

La mejor solución que tengo es usar :as o una ruta con nombre.

Mi idea es modificar el enrutamiento de Rails para verificar esa configuración global y cambiar a _ antes de enviar a una acción del controlador.

¿Hay una mejor manera?


Puede sobrecargar nombres de controlador y acción para usar guiones:

# config/routes.rb resources :my_resources, path: ''my-resources'' do collection do get ''my-method'', to: :my_method end end

Puedes probar en la consola:

rails routes -g my_resources my_method_my_resources GET /my-resources/my-method(.:format) my_resources#my_method


Puede usar rutas con nombre. Permitirá usar ''-'' como separadores de palabras. En routes.rb,

map.name_of_route ''a-b-c'', :controller => ''my_controller'', :action => "my_action"

Ahora las URL como http://my_application/a-b-c irían al controlador y a la acción especificados.

Además, para crear URL dinámicas

map.name_of_route ''id1-:id2-:id3'', :controller => ''my_controller'', :action => "my_action"

en este caso, ''id1, id2 e id2 se pasarán como parámetros http a la acción

En tus acciones y puntos de vista,

name_of_route_url(:id1=>val1, :id2=>val2, :id3=>val3)

evaluaría a la URL '' http://my_application/val1-val2-val3 ''.


si usa guiones bajos en un controlador y ve el archivo, solo use guiones en su archivo de rutas, y funcionará ...

obtener ''blog / example-text'' esta es mi ruta para este controlador

def example_text end <- este es mi controlador

y example_text.html.erb es el archivo

y este es el enlace real site.com/blog/example-text

pensé que esto es correcto para mí, y es más efectivo que el SEO