Heroku 上多部分表单的路由问题

2024-03-20

这是一个非常奇怪的问题,不幸的是我无法提供大量信息,因为我什至不知道从哪里开始诊断问题。我希望有人能神奇地听到该做什么,我很乐意在必要时进行澄清。

由于某种原因,每当我使用 Chrome 在 Heroku 上提交带有文件附件的新的多部分表单时,我都会在提交到默认的“索引”操作时收到发送信息,即,如果我提交了,我将被发送到的页面GET 而不是 POST。

我在 Rails 中使用标准 RESTful 路线,因此我的 paths.rb 中有以下内容:

resources :documents do
  member do
    get :download, :follow
  end
end

我的表格非常标准:

<%= form_for @document, :html => { :multipart => true } do |f| %>
  <!-- Form code -->
<% end %>

但同样,这被视为 GET 而不是 POST 请求,因此我只是重定向到 /documents。即使我手动指定也是如此:method => :post在表单定义中。

真正非常奇怪的事情是,这种情况只发生在 Heroku 上,并且只发生在 Chrome 上。这些表单在我使用 Chrome 的本地开发版本或使用 Safari 的 Heroku 上运行良好。

代码中的任何地方都没有发生重定向,当我检查 Heroku 日志时,它只向 /documents 报告 GET,而从来没有报告带有后续处理的 POST 可以解释这一点。

任何帮助将不胜感激。我真的不知道从哪里开始尝试解决这个问题。

更新: 我使用的是 Mac 版 Chrome,版本 12.0.742.53 beta。

这是表单输出。

<form accept-charset="UTF-8" action="/documents" class="new_document" enctype="multipart/form-data" id="new_document" method="post">
  <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="q8Qv4q9BXdV4yWzsPx9cgZoFGhJHxj6Nzje/SSnYsYo=" /></div>
  ....
  <input type="file" name="document[file]" />
  ....
</form>

这些路线似乎没有什么问题,其中包括:

POST   /documents(.:format)   {:action=>"create", :controller=>"documents"}

您能否确认您有<%= csrf_meta_tag %>在你看来

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

Heroku 上多部分表单的路由问题 的相关文章

  • 如何设置管理员批准模型的编辑

    我需要一个普通用户可以编辑模型的系统 但编辑实际上只有在管理员批准后才会发生 我发现了一颗宝石 叫做纸迹 https github com airblade paper trail它确实有模型版本控制 但不具体支持我想要做的事情 我想知道其
  • 尝试使用 Rails 和 PostgreSQL 生成模型时,命令挂起且没有错误

    使用该命令时 rails generate model Event name string 什么也没发生 我必须按 CTRL c 我使用的版本是 红宝石 2 1 1p76 导轨4 1 0 PostgreSQL 9 3 4 Mac OS X
  • 我在 apache 中使用乘客 for Rails 时收到 403 错误

    我已经安装了所需的工具 并遵循了几个教程 试图让乘客做出回应 我可以访问公共文件夹 public 500 html 或 422 hml 中的静态文件 昨天我通过虚拟主机进入 发现一些乘客错误 但一段时间后 托管重新启动了服务 从那时起我就无
  • 如何在 Ruby on Rails 3 中使用 Active Record 搜索文本?

    如何在 Ruby on Rails 中搜索字符串 例如 列包含 文本 的所有记录 Active Record 有方法吗 还是我必须使用 SQL LIKE Model find all conditions gt name LIKE tag
  • 使用 SASS 切换用户主题 - Ruby on Rails

    所以我有一个 Rails 管理系统 允许用户选择一个主题 基本上是一组 SASS 颜色变量 它将使用新颜色重新编译 application css scss 当用户从下拉菜单中选择并提交时 更改此设置的最佳方法是什么 我阅读了一些有关缓存和
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 抑制 Rspec 3 的回溯

    我正在使用 rspec 3 2 0 和 capybara 2 4 4 并在我的 spec helper rb 文件中如下所示 config full backtrace false 对于大多数错误 我都会得到回溯 例如 Failure Er
  • Chrome 中的 net::ERR_INSECURE_RESPONSE

    从 API 获取一些数据时 我在 Chrome 控制台中收到错误 net ERR INSECURE RESPONSE 此错误通常是由于未签名的证书造成的 但是 这不是问题 因为我有有效且签名的证书 该错误根本不会经常发生 如果我重新启动 C
  • Rails 3 默认作用域、可覆盖的作用域

    我遇到的情况是现有应用程序的行为正在发生变化 这让我非常头疼 我的应用程序有照片 照片有一个状态 batch queue or complete 应用程序中的所有现有照片都是 完整的 99 的情况下 我只需要显示完整的照片 并且在所有现有代
  • 如何在控制器内部使用 auto_link

    在我的控制器中 我需要构建一个 JSON 对象 如何在控制器内使用 auto link 现在它错误 NoMethodError undefined method mail to for
  • rvm编译安装ruby 2.5.0出错

    我正在尝试使用 rvm 安装 ruby 2 5 0 但出现错误 我在 Ubuntu 18 16 和现在的 Linux Mint Cinnamon 上尝试过 基本上我在运行安装 ruby 的代码之前所做的是 打开 GPG 密钥https rv
  • 在 Rails 6 上定义 Secret_key_base 的正确方法是什么?

    正确的定义方式是什么secret key base既然我们已经有了每个环境的凭据 就可以在 Rails 6 上使用了吗 我的环境有变量SECRET KEY BASE但 Rails 并没有接受它 我尝试定义secret key base in
  • 监听服务响应 JavaScript

    背景 我正在为网页制作 Chrome 扩展程序 在此网页中 我需要捕获用户发出 POST 请求时服务器发送的响应 目前 我们使用观察者模式来检查 HTML 页面上的更改 但这很笨拙并且会触发多次 客观的 我需要捕获该响应 相应地解析其信息
  • Google Chrome 上的 xsl:include 和 xsl:param,带有 jQ​​uery 转换插件

    我一直尝试在 Google Chrome 中使用 XSL 但没有成功 我读到 Chrome 在 XSLT 方面存在一些错误 其中之一是它不支持 xsl include 可以在这里检查错误 http code google com p chr
  • Chrome 开发工具无法显示响应,即使返回的内容具有标题 Content-Type:text/html;字符集=UTF-8

    为什么我的 Chrome 开发者工具显示 无法显示响应数据 当返回的内容是text html类型时响应 在开发者工具中查看返回的响应的替代方法是什么 我认为只有当您选中 保留日志 并且您在导航离开后尝试查看先前请求的响应数据时 才会发生这种
  • 我们能否知道回形针下载何时完成?

    我有一个应用程序 我需要知道用户的 Rails Paperclip 文件下载时间complete 我的应用程序设置为与 Amazon S3 交互 当用户收到完整的文件时 我需要运行 JavaScript 函数 我怎样才能做到这一点 跟踪天气
  • 渲染:带参数的动作

    我有一个有 2 种方法的类 第一个方法由视图使用一些 GET 参数 params page 调用 我想保存这些参数并通过渲染操作将它们发送到我的第二个方法 class exemple def first sql save of params
  • 请求完成时间大于 ActiveRecord 和 View 时间之和

    以下是一些示例请求完成时间 Completed 200 OK in 1054ms Views 10 8ms ActiveRecord 455 6ms Completed 200 OK in 1410ms Views 11 6ms Activ
  • 当一组工作人员完成时如何执行 Sidekiq 回调

    假设我有一个 Sidekiq 任务将产品处理到我的数据库 每个产品都按商店分组 因此我的代码的一个过于简化的示例将是这样的 stores each do store store products each do product Produc

随机推荐