Ruby on Rails 路由前缀,而不是在 .erb.js 文件中进行预处理
Ruby on Rails routes prefixes not pre-processing in .erb.js file
我正在使用Rails 4。我有以下文件:
// apps/assets/javascripts/products.js.erb
var getColoursAndMaterialsData = function(onSuccess)
{
var fd = formdata();
$.post( '<%= data_products_path(:format => :json) %>', fd )
.done(function(data)
{
onSuccess(data);
});
};
当 products.js.erb 包含在 .html.erb 文件中时,我收到错误:
undefined method `data_products_path'
显然,路由前缀"data_products_path"未被预处理。我的印象是,给产品.js.erb扩展名会哄骗预处理器。
在 .html.erb 文件中的 <script type="text/javascript"></script>
标记之间,相同的代码有效。我的routes.rb的相关部分如下所示:
resources :products do
collection do
post 'data'
end
end
我还需要做什么吗?
我认为
仅通过添加扩展名.erb
它不起作用。 为什么不做一个简单的jQuery ajax post请求...
dataType: "json"
确保获得 JSON 响应,而不是使用 URL 帮助程序,只需指定 URL。
http://api.jquery.com/jquery.post/
下面的链接回答了您的问题
在 JavaScript 资产中使用 Rails 帮助程序方法
相关文章:
- 从文本文件js中读取列表
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 获取用于外部JavaScript文件(.js)的代码提示
- 如何将Javascript文件(.js文件)放在web服务器中
- 如何将 JavaScript 文件(.js 文件)添加到 C# 项目并从 C# 代码调用 JavaScript 方法
- 在 Node 中包含 javascript 文件.js无需 require('.') ing
- 如何使用jquery显示多个文件.多文件.js
- 使用 PDF 打开 PDF 文件.js而不将文件作为查询字符串传递
- 转换颜色十六进制值以用于三个 JSON 文件.js
- 如何使用 jQuery 选择多个文件.多文件.js插件?使用单个关闭按钮一次选择多个文件
- 如何在 Gulp 任务中间添加 CSS 文件.js
- 如何从Dropzone上传和删除文件.js
- 如何在视频中添加视频文件.js 4.2.1.
- 从快速节点下载文件.js具有 JWT 授权
- 访问 JavaScript 文件.js中的 C# 变量
- 在节点中热重载外部 js 文件.js如果文件有任何更改
- 如何在一台服务器中运行不同的.js文件.js NODE JS中的文件
- 如何在多文件.js中上传文件时检查文件扩展名
- 将文件.js中的var导入到模块joomla的模板中,并使用后台进行修改
- 在path项目中编写文件js脚本