Принудительно использовать абсолютные URI для определенного действия контроллера - PullRequest
0 голосов
/ 04 января 2011

У меня есть действие контроллера, которое генерирует шаблон для онлайн-шлюза оплаты кредитной картой (Ogone). Мне нужно заставить все URI (ссылки на изображения в макете, таблицы стилей, javascripts ...) быть абсолютными в этом случае, так как страница будет заполнена и обработана самим сервером платежного шлюза.

Что такое "путь рельсов 3"?

Спасибо!

1 Ответ

0 голосов
/ 06 января 2011

Я наконец-то решил свою проблему полностью вне рельсов, используя wget, с опцией -k, которая преобразует все относительные ссылки в абсолютные ссылки.На моем контроллере это выглядит следующим образом:

def action_with_relative_links
end

def action_with_absolute_links
    render :text => convert_to_absolute_links(:action_with_relative_links)
end

def convert_to_absolute_links(action_param)
  `wget -q -k -O/tmp/absolute_links.html #{url_for :action => action_param}`
  `cat /tmp/absolute_links.txt`
end

В этом коде есть еще одна небольшая вещь, которую нужно исправить: проблема, которая может возникнуть при высоком параллелизме из-за использования временного файла файловой системы.

Хотелось бы, чтобы был способ избежать этого взлома и делать все в рельсах, но я очень доволен результатом, и это позволяет мне сохранить все мои представления и файлы макетов без изменений.

Надеюсь, это кому-нибудь поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...