Можно ли использовать url_for для использования опции префикса в Ruby on Rails? - PullRequest
0 голосов
/ 24 октября 2008

В проекте, над которым я работаю, Apache настроен так, чтобы перенаправлять только запросы, поступающие как / prefix / *, в mongrel. Как я могу сказать ruby ​​на рельсах генерировать все URL с этим префиксом?

У меня есть маршруты, настроенные для пересылки к правильному действию контроллера, выполнив это:

map.connect 'sfc/:controller/:action'

но это, похоже, не влияет на способ, которым автор URL генерирует URL.

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 25 октября 2008

Возможно, у вас есть другой маршрут (возможно, один из маршрутов по умолчанию в нижней части route.rb), который генерация URL использует вместо соответствия с префиксом sfc. Например, если у вас есть

map.connect "sfc/:controller/:action"
map.connect ":controller/:action/:id"

, затем url_for(:controller => 'x', :action => 'y', :id => 3) вернет "/x/y/3". Если вы измените его на

map.connect "sfc/:controller/:action"
map.connect "sfc/:controller/:action/:id"

вы должны получить "/sfc/x/y/3".

2 голосов
/ 24 октября 2008

Переменная окружения RAILS_RELATIVE_URL_ROOT должна сработать, хотя я сама не пробовала.

1 голос
/ 30 апреля 2009

Mongrel принимает параметр --prefix, который затем добавляется ко всем сгенерированным URL-адресам. Это единственный известный мне способ иметь возможность запускать несколько экземпляров одного и того же приложения на одном сервере.

1 голос
/ 24 октября 2008

Как насчет использования опции: path_prefix:

map.connect ':controller/:action', :path_prefix => 'sfc'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...