在发布带有多个图像的表单时,我得到的重定向与在本地发布时不同。 在线服务器有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很新,这是我的第一个问题。
答案 0 :(得分:1)
在这里。
它似乎是一个Paperclip - Apache bug。
在Apache cconfiguration中禁用mod_security,或者如果在.htaccess文件中可用,则会阻止您的网段加倍。
禁用mod_security并不是很聪明,所以来自托管的人现在正在尝试隔离导致问题的mod_security规则。
答案 1 :(得分:0)
看起来像apache / nginx问题。检查以确保您在设置中启用了重写模块,因为有时这可能会导致问题