После просмотра замечательного Ryan's Railcast Simple OmniAuth, мне удалось реализовать проверку подлинности в моем приложении.Создайте именованные маршруты для OmniAuth в Rails 3
Все работает отлично, но на мой взгляд, у меня есть ссылки, которые выглядят следующим образом:
<%= link_to 'Sign in with Twitter', '/signin/twitter' %>
<%= link_to 'Sign in with Facebook', '/signin/facebook' %>
мне было интересно, если есть элегантный способ создать именованный маршрут, чтобы заменить, что с:
<%= link_to 'Sign in with Twitter', signin_twitter_path %>
<%= link_to 'Sign in with Facebook', signin_facebook_path %>
или:
<%= link_to 'Sign in with Twitter', signin_path(:twitter) %>
<%= link_to 'Sign in with Facebook', signin_path(:facebook) %>
OmniAuth уже обрабатывает эти маршруты ... В моей routes.rb
файл У меня есть только материал для обратных вызовов и выписки:
match '/signin/:provider/callback' => 'sessions#create'
match '/signout' => 'sessions#destroy', :as => :signout
Так что я не знаю, где я мог бы создать эти именованные маршруты.
Любая помощь будет оценена по достоинству. Благодарю.
Как это работает с приложением, развернутым в Sub-URI? – graywh 2011-09-23 21:48:15
Как бы вы обрабатывали дополнительные параметры? (например, «исходный» параметр). В идеале signin_path принимал бы все параметры обычным методом * _path. – Marc 2013-02-26 15:08:11