javascript - 确保正确处理由 javascript 调用的 rails 操作中的响应
问题描述
以下 javascript 片段将数据提交到 Rails 控制器操作
Rails.ajax({
url: "section_update",
type: "post",
data: formData
});
但是,日志指出
Started POST "/articles/section_update" for 176.200.200.92 at 2020-07-27 18:07:20 +0200
Processing by ArticlesController#section_update as */*
如何修改 javascript 以便将操作作为 JS 处理 - 或强制操作仅通过js.erb
约定响应?
解决方案
在控制器中显式添加一个respond_to
块。
respond_to do |format|
format.js { redirect_to some_path} #If you need to redirect
format.js #If you want to render a js.erb view matching the action.
end
“Rails 方式”将删除这段 JS 代码,然后添加remote: true
到处理 formData 的链接或表单中。这告诉 Rails 以 JS 的形式自动提交请求。
推荐阅读
- php - 命名空间不能与 php 中的 __autoload 魔术函数一起使用
- mysql - Wordpress/SQL 查询协助
- powershell - 如何通过 powershell 访问 wsdl 的命令?
- react-native - 如何在不查看文档的情况下获取 react-native 中的 pdf 页面总数
- ubuntu - 从 Ubuntu 存储库安装 Qt5 webenginewidgets 模块
- node.js - 如何防止用户查看不属于他们的资源条目
- python - Shuffling list of locations in a 2D numpy array and then use it to select (or slice) in a 3D numpy array
- intellij-idea - 如何在 Intellij 中定义拼写语言
- kdb - 在 kdb 中重放 TPLOG 时出现长度错误
- angular - Angular 7 DOM 清理混合内容