Rails 3: абсолютные ссылки на ресурсы - PullRequest
3 голосов
/ 16 сентября 2011

Я использую Gem для авторизации в Facebook. Попытка сделать ресурс 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_for и link_to, но не повезло.

Есть идеи?

Я ищу, чтобы получить

http://localhost:3000/auth/facebook

и все, что у меня есть, это ресурс "user_omniauth_authorize_path (: facebook)" для игры с

Ответы [ 2 ]

2 голосов
/ 16 сентября 2011
<%= user_omniauth_authorize_url(:facebook) %>
1 голос
/ 16 сентября 2011

Быстро просматривая страницу OmniAuth , похоже, нет метода user_omniauth_authorize_url.Если вы не можете найти готовое решение, я бы просто создал вспомогательный метод absolutize_path, который добавляет вашу хост-часть к части пути.


def absolutize_path path
  File.join root_url, path
end

Вы можете поочередно посмотретьиспользовать URI.join , что более семантически, но, возможно, излишне для вас.

...