gpt4 book ai didi

javascript - Ruby on Rails 路由前缀未在 .erb.js 文件中进行预处理

转载 作者:行者123 更新时间:2023-12-03 11:11:06 27 4
gpt4 key购买 nike

我正在使用 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”未经过预处理。我的印象是,为 products.js 提供 .erb 扩展名会哄骗预处理器。

<script type="text/javascript"></script> 之间时,完全相同的代码可以工作。 .html.erb 文件中的标签。我的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/

下面的链接回答了您的问题

Using a Rails helper method within a javascript asset

关于javascript - Ruby on Rails 路由前缀未在 .erb.js 文件中进行预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com