我有一个使用 PDFKit 的 rails 3.2 应用程序,作为中间件安装。在我尝试将应用程序移动到站点域的子URI('domain.com' -> 'domain.com/ar')之前,它运行良好。我根据乘客文件设置了 subURI. 该应用程序仍然可以正常工作,除非涉及 PDF 转换。我有一个名为年度报告的对象。使用上面提到的 subURI,annual_report URL 是“domain.com/ar/annual_reports/1/edit”。当我使用“domain.com/ar/annual_reports/1/edit.pdf”请求 PDF 版本的年度报告时,我收到路由错误:“没有路由匹配 [GET]”/ar/annual_reports/1/edit” '。那条路线确实存在。我可以删除“.pdf”扩展名,应用程序会愉快地加载页面。看来 PDFKit 或者 Rack 正在将我的请求与应用程序路由进行比较。当然,其中没有一个包含“/ar”子URI。所以它失败了。
我尝试在 PDFKit 中设置 root_url 以包含 subURI。我试过设置 Rails.relative_url_root。我尝试将应用程序包装在 config.ru 中的地图中。在这一点上,除了可卡因,我什么都试过了。所以,我把它交给你,StackOverflow......谢谢。