Rails 3:资源的绝对URL

时间:2011-09-16 13:13:49

标签: ruby-on-rails-3 devise omniauth absolute-path

我正在使用设计Gem for Facebook auth。 试图获取设计URL的资源是绝对的,所以我不必更改它 从环境切换时。

<%= user_omniauth_authorize_path(:facebook) %> == gives ==> /auth/facebook

在前面添加“root_path”给我

<%= root_url %><%= user_omniauth_authorize_path(:facebook) %>

http://localhost:3000//auth/facebook  (double slash?)

我已尝试将其添加到url_forlink_to,但没有运气。

有什么想法吗?

我想要

http://localhost:3000/auth/facebook

我所拥有的只是“user_omniauth_authorize_path(:facebook)”资源

2 个答案:

答案 0 :(得分:2)

<%= user_omniauth_authorize_url(:facebook) %>

答案 1 :(得分:1)

快速查看OmniAuth页面,似乎没有user_omniauth_authorize_url方法。如果您无法找到开箱即用的解决方案,我只需创建一个辅助方法absolutize_path,它将您的主机部分添加到路径部分。


def absolutize_path path
  File.join root_url, path
end

您可以选择使用URI.join,这更具语义性,但可能需要过度杀伤。