发布后错误的重定向

时间:2011-11-24 11:17:29

标签: ruby-on-rails post

在发布带有多个图像的表单时,我得到的重定向与在本地发布时不同。 在线服务器有Phusion Passenger Apache / nginx。 本地服务器使用标准Webrick。 Rails 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 个答案:

答案 0 :(得分:1)

在这里。

它似乎是一个Paperclip - Apache bug。

在Apache cconfiguration中禁用mod_security,或者如果在.htaccess文件中可用,则会阻止您的网段加倍。

禁用mod_security并不是很聪明,所以来自托管的人现在正在尝试隔离导致问题的mod_security规则。

在这里拉取答案http://railsforum.com/viewtopic.php?id=42079

答案 1 :(得分:0)

看起来像apache / nginx问题。检查以确保您在设置中启用了重写模块,因为有时这可能会导致问题