Post/Put 请求的路由错误(乘客标头)

2023-11-30

我遇到了一个奇怪的问题,经过一系列研究后无法更接近。我有几个通过 Carrierwave 上传文件的表单。当我上传信息时,部分路线被切断(我认为)。

例如,我有一个多部分表单提交到:

https://domain/programs/223/add_file 作为 POST

但在提交时我收到错误

没有路由匹配 [POST]“/223/add_file”

即使我的地址栏中显示的是完整的路线。如果将完整的路线作为 GET 请求提交,则效果很好。当我运行 rake 路线时,路线显示得很好。

这是我的路线的一个子集:

resources :programs do
  match "add_file" => "programs#add_file"

如果重要的话,我正在 Apache 上运行 Rails 3.2.2 和 Passenger。该问题仅发生在该生产服务器上,而不会发生在开发中。

有任何想法吗?我被困在这个问题上,因为它会影响多条路线,并且我尝试仅为该表单定义自定义路线,但没有成功。

Update:当我从表单中删除 multi-part => true 或 file_field_tag 时,它解决了问题。这仍然是一个问题,但似乎与路由无关,而与文件上传表单有关。


Create passenger_extension.rb in the lib包含此代码的文件夹:

乘客3

module PhusionPassenger
  module Utils

    protected

    NULL = "\0".freeze

    def split_by_null_into_hash(data)
      args = data.split(NULL, -1)
      args.pop
      headers_hash = Hash.new
      args.each_slice(2).to_a.each do |pair|
        headers_hash[pair.first] = pair.last unless headers_hash.keys.include? pair.first
      end
      return headers_hash
    end

  end
end

乘客5

module PhusionPassenger
  module Utils

    # Utility functions that can potentially be accelerated by native_support functions.
    module NativeSupportUtils
      extend self

      NULL = "\0".freeze

      class ProcessTimes < Struct.new(:utime, :stime)
      end

      def split_by_null_into_hash(data)
        args = data.split(NULL, -1)
        args.pop
        headers_hash = Hash.new
        args.each_slice(2).to_a.each do |pair|
          headers_hash[pair.first] = pair.last unless headers_hash.keys.include? pair.first
        end
        return headers_hash
      end

      def process_times
        times = Process.times
        return ProcessTimes.new((times.utime * 1_000_000).to_i,
          (times.stime * 1_000_000).to_i)
      end
    end

  end # module Utils
end # module PhusionPassenger

然后在“config/application.rb”中执行以下操作:

class Application < Rails::Application
  ...
  config.autoload_paths += %W(#{config.root}/lib)
  require 'passenger_extension'
end

然后重新启动网络服务器。

注意:我不确定这不会破坏任何其他功能,因此使用它需要您自担风险,如果您发现这种方法有任何危害,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Post/Put 请求的路由错误(乘客标头) 的相关文章

  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • 在 ActiveAdmin 或打印解决方案中动态更改分页

    我是 Activeadmin 和 Rails 的新手 我需要一些帮助 我有一个分页模型 我想允许用户更改分页值或完全禁用它 这样它就可以打印 到打印机 所有记录 或过滤后的记录 我知道我可以在 before filter 中使用 per p
  • Rails 3.1 和图像资源

    我已将管理主题的所有图像放入名为 admin 的文件夹内的资产文件夹中 然后我像平常一样链接到它 Ruby image tag admin file jpg CSS logo background url assets images adm
  • Rails 4 的 mobile_fu

    我正在尝试将我的应用程序从 Rails 3 2 13 切换到 Rails 4 在此过程中 我遇到了一个主要障碍 我使用 gem mobile fu 来确定用户是否来自移动设备 该 gem 需要 Railties 3 2 13 但 Rails
  • 我必须使用什么加密程序来通过 HTTP 协议发送加密的“电子邮件”和“密码”值?

    我正在使用 Ruby on Rails 3 我想通过 HTTP 协议发送 电子邮件 和 密码 值 我知道 我不应该 但我需要 我需要从发送用户凭据我的客户申请到一个我的服务应用 我可以使用公共和私人RSA密钥来实现这一点 但如果是这样 我不
  • Rails - 用于集合集的单选按钮

    我有以下输出选择框 br 替代输出单选按钮的 Rails 方法是什么 对于单选按钮 您必须自行迭代并输出每个单选按钮及其标签 事实上这真的很容易
  • 在rails生成脚手架中跳过JSON格式

    当您使用类似命令生成 Rails 脚手架时rails g scaffold Thing有什么办法可以避免变得烦人吗 respond to do format format html index html erb format json re
  • 将 Rack::Deflater 插入机架中的哪个位置?

    我目前有以下内容 use Rack Rewrite use Rack Cache verbose gt true metastore gt memcached localhost 11211 rack cache meta entityst
  • Rails 3 SSL 路由从 https 重定向到 http

    这个问题与此相关SO 问答 rails 3 ssl deprecation https stackoverflow com questions 3634100 rails 3 ssl deprecation建议使用routes rb和类似的
  • 再次返回使用 Rails 3 中的 Rails 2.3.5

    最近 我看到有关Rails 3 0 beta的信息 我想尝试一下 所以我使用gem update并安装了这个版本 但现在 我需要回到 Rails 2 3 5 我怎样才能做到呢 我正在考虑这两个解决方案 卸载 Rails 3 我读到有人使用
  • 如何将html id添加到rails中的form_for标签中?

    我正在尝试将 id 标签添加到我在 Rails 中创建的表单中 表单的开头有以下代码 我是否可以向 form for 嵌入式 ruby 添加一个 id 或者我是否必须创建一个 form tag 字段并在那里添加 id 如果我必须创建 for
  • Ruby on Rails:Cucumber:如何点击打开新窗口的链接?

    我有一个在新窗口中打开的链接 我需要测试该新窗口中的应用程序部分 任何建议将不胜感激 定义一个包含以下代码的步骤 page driver browser switch to window page driver browser window
  • 在表单中编辑序列化哈希?

    我正在序列化存储在settings表中的字段 并且希望能够在表单字段中编辑该哈希 class Template lt ActiveRecord Base serialize settings end 但我就是这么做那么文本区域只显示序列化数
  • 如何加载 UrlHelper 和 Rails 中的路线?

    我想包括路线和link toPORO 中的方法 在控制台中测试这个时 我遇到了这个 如果我在没有路由助手的情况下包含 UrlHelper 一切似乎都工作正常 ruby 1 9 3 rc1 001 gt Rails version gt 3
  • ror 中的多种布局

    昨天刚开始使用 Ruby on Rails 在我的 layouts application html erb 中 我有 div class conta div
  • 创建费用前验证 CVC 代码

    我正在尝试检查用户输入的 cvc 代码 我已经存储了条带 customer id 和条带 card id 我想在向用户收费之前验证 CVC 代码 以下是创建费用的代码 charge Stripe Charge create amount g
  • 为什么我需要 Nginx 和 Puma?

    我正在将 Rails 应用程序部署到生产环境中 看起来 Puma 速度很快 可以处理我想要在网络服务器中完成的许多事情 我想知道我是否需要使用 Nginx 如果只使用 Puma 我会错过什么 Nginx 是一个 Web 服务器 puma 是
  • 将控制器操作处理为 JS 而不是 HTML

    所以我有以下形式 Follow 我试图
  • Rails 3 分页,will_paginate 与 Kaminari

    我的设置 Rails 3 0 9 Ruby 1 9 2 我正在为我的应用程序寻找分页解决方案 发现有一个新的宝石Kaminari与值得信赖的人相比will paginate 看起来像will paginate有一段时间没有更新了 但后来又以

随机推荐

  • 多个配置文件导致重复消息

    我有一台在 AWS 中运行的 Logstash 机器 在 Logstash 中 我有 3 个配置文件 每个文件上定义了 1 个输入 这些输入正在从以下来源读取日志 From s3 来自http输入 来自文件节拍 问题是我在 Kibana 中
  • Angular 2+:如何从 HTML 代码中删除所有 Angular 属性和注释(以及其他 Angular 工件)?

    我想以一种不常见的方式使用 Angular 我用它来生成 HTML 稍后用于满足各种需求 为什么 我希望这个 HTML 是静态的并且独立于角度 例如 如果我更改我的应用程序 例如重构代码 生成的 HTML 应该是相同的 当然 如果背后的逻辑
  • 如何修复 IE 浏览器控件中的内存泄漏?

    我正在尝试在 C Winform 应用程序中嵌入 WebBrowser 控件 这听起来很容易 然而 我发现每次调用 Navigate 方法时 WebBrowser 控件都会占用大量内存 内存永远不会被释放 内存使用量不断增加 网上很多人都有
  • 将geojson标记加载到mapbox中设置自定义图标图像

    我是mapbox 传单的新手 我认为这是一个非常基本的问题 我在过去的两天里一直在努力解决这个问题 尽管我尝试了几种方法 但我无法解决这个问题 我通过 geojson 加载标记 var ma 3 L mapbox featureLayer
  • 检测和响应任何多边形内的球与墙碰撞

    需要编写良好的方法来检测和响应任何多边形内的球与墙的碰撞 例如 我有一个方法可以绘制一个在矩形内飞行的球 ctx beginPath ctx arc x y ballRadius 0 Math PI 2 ctx fillStyle 0095
  • Jasper 子报告未显示

    我有一份主要报告 调用2个不同的子报告两次 每次使用不同的参数 问题是显示不正确 LETTEROFACK TRANSF LTR 根本不来
  • 将数组从 php 发送到 python

    我正在尝试将一个数组从 php 传递到 python 由于某种原因 当我加载 php 页面时 我遇到了麻烦 所以如果人们建议我尝试不同的方法或者如果人们发现一个简单的方法 我将非常感激我在这里失踪了错误 因为我已经尝试这样做几个小时了 Th
  • 新工作表上的 VBA 数据透视表

    我已经录制了一个宏来在 VBA 中创建数据透视表和后续图表 它就像一种魅力 只是完全不是我需要的那样 问题是我希望能够运行代码并让它在尚不存在的工作表上创建一个表 基本上我将通过菜单上的按钮运行它 它应该在新页面上创建表格和图表 无需进一步
  • 从 Access 数据库收集数据

    我想从 Access 数据库的某些表中收集一些数据 我在网上找到了一些解决方案 但我还没有找到填充数据表或数据集并正确获取每个字段的方法 对我来说 获取整个表然后只获取我想要的信息是否更容易 或者我应该在访问数据库中进行大量搜索 每次只获取
  • 调试 PDO mySql 将 NULL 插入数据库而不是空

    我正在尝试使用 PDO 将 NULL 动态插入数据库 表结构 CREATE TABLE IF NOT EXISTS Fixes Id int 11 NOT NULL AUTO INCREMENT COMMENT PK CurrencyId
  • 没有名为 pkg_resources 的模块

    我正在将 Django 应用程序部署到开发服务器 并且在运行时遇到此错误pip install r requirements txt Traceback most recent call last File var www mydir vi
  • 当矩形与另一个矩形重叠时 OpenCV 连接轮廓

    我有以下输入图像 我的目标是绘制红色区域的轮廓 为此 我有以下代码 导入CV2 Read image src cv2 imread images jpg cv2 IMREAD GRAYSCALE Set threshold and maxV
  • IntelliJ IDEA Grails 没有看到 Jar

    我试图在 Linux 系统上的 Grails 项目中引用 IntelliJ IDEA 9 0 2 中的类 我将依赖项添加到BuildConfig groovy dependencies specify dependencies here u
  • “Substring” GridView BoundField 对象

    谁能告诉我如何对 GridView BoundField 对象进行子字符串化 到目前为止我已经尝试过了 但还没有成功 谢谢
  • 实体框架一对一映射问题

    使用VS 2010 beta 2 ASP NET MVC 我尝试创建一个实体框架文件并从数据库中获取数据 关系存在一些问题 因此我开始进行调整 但对于简单的一对一关系 我不断收到以下错误 错误 1 错误 113 多重性在关系 FK User
  • SWFTools 分段错误

    使用 swftools 中的 pdf2swf 将 PDF 转换为 SWF 时 出现分段错误 核心转储 错误 有没有人遇到过这个或知道可能出了什么问题 我在错误发生之前收到的通知是 NOTICE File contains jpeg pict
  • Google API - 每次都强制授予权限

    我正在使用 Google API PHP 客户端 每次我尝试登录时 我都被迫向应用程序授予权限 下面是我的代码 我基本上是访问 Google API for Analytics require once lib apiClient php
  • cvReprojectImageTo3D -2d 图像的 3d 建模问题 -

    我非常需要你关于这个问题的帮助 我正在尝试用 2D 图像对一个简单的场景进行 3D 建模 我使用 2 张图像 左 右 著名的筑波场景 http www cc gatech edu classes AY2003 cs7495 fall Pro
  • php 警告:strtotime() 错误

    我已将 joomla 和 wordpress 文件从旧服务器更改为新服务器 在前端和管理端 它的工作没有任何错误 但在数据库 phpmyadmin 部分它显示了一些像这样的警告消息 Warning strtotime function st
  • Post/Put 请求的路由错误(乘客标头)

    我遇到了一个奇怪的问题 经过一系列研究后无法更接近 我有几个通过 Carrierwave 上传文件的表单 当我上传信息时 部分路线被切断 我认为 例如 我有一个多部分表单提交到 https domain programs 223 add f