我已将 Omniauth 添加到我的 Rails 3.1 项目中,一切正常。当我访问 hostname/auth/facebook
时,我会进入一个页面,在这里我可以按照您的预期授权访问我的 Facebook 帐户。
我想知道是否可以命名该路线,以便在我的 link_to
帮助程序中编写
<%= link_to 'Login with Facebook', facebook_login_path %>
而不是
<%= link_to 'Login with Facebook', '/auth/facebook' %>
我知道的不是一件大事,但我喜欢一致性。
最佳答案
通常你会做这样的事情:在你的routes.rb文件中:
get "auth/facebook", :to => "controller#action", :as => "facebook_login"
但在这种情况下,您发送到的 url 实际上并不是应用程序的 URL 部分,而是 Facebook 的 oauth url。因此,您无法为其创建路由。
您可以做的唯一一件事 - 就像上面的评论者指出的那样 - 就是在您的帮助程序文件之一中创建一个帮助程序方法 - 例如 app/helpers/application_helper.rb
def facebook_login_path
"/auth/facebook"
end
关于ruby-on-rails - 我可以命名 Omniauth 身份验证路由吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072453/