Después de haber visto el excelente Railcast Simple OmniAuth de Ryan, he logrado implementar la autenticación en mi aplicación.Crear rutas con nombre para OmniAuth en Rails 3
todo está funcionando bien, pero en mi opinión que tienen enlaces que se ven así:
<%= link_to 'Sign in with Twitter', '/signin/twitter' %>
<%= link_to 'Sign in with Facebook', '/signin/facebook' %>
Me preguntaba si hay una manera elegante para crear una ruta nombrado para reemplazar eso con:
<%= link_to 'Sign in with Twitter', signin_twitter_path %>
<%= link_to 'Sign in with Facebook', signin_facebook_path %>
o:
<%= link_to 'Sign in with Twitter', signin_path(:twitter) %>
<%= link_to 'Sign in with Facebook', signin_path(:facebook) %>
OmniAuth ya maneja las rutas ... En mi routes.rb
archivo sólo tengo cosas para las devoluciones de llamada y cierre de sesión:
match '/signin/:provider/callback' => 'sessions#create'
match '/signout' => 'sessions#destroy', :as => :signout
Así que no sé donde podría crear esas rutas con nombre.
Cualquier ayuda será apreciada. Gracias.
¿Cómo funciona esto con una aplicación desplegada en un Sub-URI? – graywh
¿Cómo manejaría parámetros adicionales? (por ejemplo, el parámetro 'origen'). Lo ideal es que signin_path acepte todos los parámetros que un método regular * _path. – Marc
Además, ¿cómo haría que este método esté disponible para los controladores? – Marc