ruby-on-rails - 路由到一个特殊的控制器动作
问题描述
我想要一个按钮来选择一个 zip 文件,解压缩,处理其中一个文件并将数据添加到数据库中。我被困在控制器动作上。
bp_stats.controller
def import_data
puts "Massage and import data here"
end
路线.rb
get 'import_data', to: 'bp_stats#import_data'
中的导入按钮_import_data.html.erb
:
<%= form_tag( action: :import_data, controller: 'bp_stats' ) do %>
<%= file_field_tag :filename %>
<%= submit_tag( "Import" ) %>
<% end %>
我收到此错误
ActionController::RoutingError (No route matches [POST] "/import_data"):
解决方案
你的路线说
get 'import_data', to: 'bp_stats#import_data'
这显然是获取请求路由而不是发布请求,您需要将其更改为使用 post 发布请求的路由
post 'import_data', to: 'bp_stats#import_data'
推荐阅读
- ios - 如何在 iOS Ionic 应用程序中选择拨号器应用程序?
- assembly - 为什么这个 shellcode 会导致目标挂起?
- javascript - 无法将背景颜色值从 json 设置到 HTML 页面
- python - 如何在python中创建一个全局变量
- rxjs - 返回来自最近事件的响应,而不是最后的异步响应
- vue.js - Vue.js 生命周期钩子
- vue.js - 如何使用方法创建 Vue 组件的新实例并随后销毁它们?
- hadoop - Hadoop localhost:9870 在格式化 hdfs namenode 之前不起作用
- python - 尝试使用 Python 获取 Excel 差异时如何修复 Key 错误
- applescript - 每 5 分钟备份一次文件夹 (Applescript - Droplet)