Неверный редирект после публикации - PullRequest
3 голосов
/ 24 ноября 2011

При публикации формы с несколькими изображениями я получаю другое перенаправление, чем при публикации на локальном. Онлайн сервер имеет Phusion Passenger Apache / nginx. Локальный сервер использует стандартный Webrick. Рельсы 3.0.9

Приложение интернационализировано (2 языка) английский и хорватский

На локальной машине нет проблем, она перенаправляет отлично. http://localhost:3000/en/references

Онлайн сервер перенаправляет с дополнительным языковым сегментом в URL. http://somesite.com/en/en/references

Это выдает ошибку, страница не существует.

Действие обновления контроллера:

def update
  @reference = Reference.find(params[:id])
  if @reference.update_attributes(params[:reference])
    redirect_to(references_path, :notice => 'Reference was successfully updated.')
  else
    render :action => "edit"
  end
end

Маршруты обрабатываются следующим образом.

scope "(:locale)", :locale => /hr|en/ do
  resources :references
  resources :reference_groups
  resources :pages
  resources :photos
end

Вывод журнала с сервера:

Started POST "/hr/references/1" for 78.0.196.78 at Wed Nov 23 12:55:11 +0100 2011
  Processing by ReferencesController#update as HTML
  Parameters: {"reference"=>{"name_en"=>"Test Reference", "position"=>"1"...}
[paperclip] Saving attachments.
[paperclip] saving /home/alfaplan/alfaplan/public/images/photos/medium/katalog-zaks_012-l.jpg
[paperclip] saving /home/alfaplan/alfaplan/public/images/photos/thumb/katalog-zaks_012-l.jpg
[paperclip] saving /home/alfaplan/alfaplan/public/images/photos/original/katalog-zaks_012-l.jpg
Redirected to http://alfaplan.host25.com/hr/hr/references
Completed 302 Found in 1344ms

Started GET "/hr/hr/references" for 78.0.196.78 at Wed Nov 23 12:55:12 +0100 2011

ActionController::RoutingError (No route matches "/hr/hr/references"):

Есть идеи, где может быть проблема?

Я довольно новичок в RoR, и это мой первый вопрос здесь.

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Вот так.

Кажется, это ошибка Скрепка - Apache.

Отключение mod_security в конфигурации Apache или, если оно доступно в файле .htaccess, предотвращает удвоение вашего сегмента URL.

Отключение mod_security не очень разумно, поэтому пользователи хостинга сейчас пытаются изолировать правило mod_security, которое вызывает проблему.

Вытащил ответ здесь http://railsforum.com/viewtopic.php?id=42079.

0 голосов
/ 25 ноября 2011

Похоже, проблема apache / nginx. Убедитесь, что в настройках включен модуль перезаписи, так как иногда это может вызывать проблему

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