ruby-on-rails - 我可以命名 Omniauth 身份验证路由吗?

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 omniauth

我已将 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/

相关文章:

ruby-on-rails - Rails 文章助手 - "a"或 "an"

mysql - 将生产数据库备份到从属数据库

javascript - 带有 Rails 3.1 应用程序的初学者问题 : How do I integrate processing. js?

ruby-on-rails - 在 Rails 中添加模式对话框?

ruby-on-rails - Ruby on Rails 如何构建支付模型来处理 Paypal REST SDK

ruby-on-rails - 相交 Mongoid "in"- 查询

jquery - Rails 3.1 - CSRF 被忽略?

Ruby on Rails 应用程序无法识别 HTML/CSS div

ruby-on-rails - CanCan 的用户授权 : NoMethodError

ruby-on-rails - 如何在 ruby​​ on rails 中正确处理错误 url 到自定义 404 页面的重定向?