gpt4 book ai didi

javascript - 如何在 Rails 中访问 c​​sv 文件

转载 作者:行者123 更新时间:2023-12-03 04:54:04 25 4
gpt4 key购买 nike

我正在开发一个 Ruby on Rails 应用程序,我需要将一些 csv 格式的数据加载到 JS 脚本中进行处理。

我的csv文件位于app/assets中,我的js文件是app/assets/javascripts,我使用它在assets.rb中处理:

Rails.application.config.assets.precompile += %w( myscript.js ) 

在 `myscript.js 中,我对 csv 文件进行 ajax 调用:

$.ajax({
url: "assets/mycsvfile.csv",
async: true,
success: function (csvd) {
// processing csv data
},
error: function(e) {
var errorMsg = e? (e.status + ' ' + e.statusText) : "";
console.log(errorMsg);
},
dataType: "text"
});

我还是明白

404 file not found

如何加载该 csv 文件?

谢谢

最佳答案

将文件 mycsvfile.csv 放入 Rails 应用的“public”目录中。

然后,您将能够直接从 YOURDOMAIN/mycsvfile.csv 请求加载它。

编辑:

由于您不想使用公共(public) URL,因此必须使用 HTTP 服务器身份验证或 Rails Server 来处理文件下载。

要让 Rails 应用处理文件下载,请使用 send_file 命令。在提供静态文件之前,您将能够在 Controller 中检查正确的用户权限。

示例:

class ClientsController < ApplicationController
# Stream a file that has already been generated and stored on disk.
def download_pdf
client = Client.find(params[:id])
send_file("#{Rails.root}/files/clients/#{client.id}.pdf",
filename: "#{client.name}.pdf",
type: "application/pdf")
end
end

来源:http://guides.rubyonrails.org/action_controller_overview.html#sending-files

关于javascript - 如何在 Rails 中访问 c​​sv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42515249/

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