Rails - 如何在JavaScript中的Rails应用程序中获取文件路径?
我正在使用一个Rails应用程序,我试图在我的javascript中指定一个json文件路径。但是,似乎我无法按照我应该得到的文件。我尝试了两种:绝对路径和相对路径。但是,没有为我工作。我知道我在Rake任务中使用Rails.root来指定文件路径。但是,我现在需要的是在Rails应用程序中指定JavaScript内的文件路径。我正在试图找到flare.json文件。我把我的应用程序/资产/数据/ flare.json并试用了此:Rails - 如何在JavaScript中的Rails应用程序中获取文件路径?
<script type="text/javascript">
d3.json("/app/assets/data/flare.json", function(error, root) {
.....
}
</script>
但是,我得到的错误在JavaScript控制台:
GET `http://localhost:3000/app/assets/data/flare.json 404 (Not Found)`
任何人都可以请帮我这是在Rails应用程序中用javaScript指定文件路径的正确方法?
那么,让我来得到这个权利,你想加载一个JSON文件与D3?如果是这种情况,请考虑这一点:浏览器内javascript环境无法访问服务器端的文件资源。您可以通过服务器专门公开文件来加载它们,然后通过AJAX请求使用JavaScript检索它们。因此,例如:
将文件移动到公共目录您的应用程序中,然后将JavaScript的改变
d3.json("/flare.json", function(error, root) {
.....
}
将这个在配置/ application.rb中
#启动资产管道
config.assets.enabled =真
config.assets.paths < <“#{} Rails.root/app/assets/something“
不起作用。试过。 –
是的,这是正确的,我已经通过保留json文件公共目录昨天解决了这个问题:-)所以,接受和+1 :-) @mortz –