2013-04-13 68 views
-1

我正在使用一個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指定文件路徑的正確方法?

回答

1

那麼,讓我來得到這個權利,你想加載一個JSON文件與D3?如果是這種情況,請考慮這一點:瀏覽器內javascript環境無法訪問服務器端的文件資源。您可以通過服務器專門公開文件來加載它們,然後通過AJAX請求使用JavaScript檢索它們。因此,例如:

將文件移動到公共目錄您的應用程序中,然後將JavaScript的改變

d3.json("/flare.json", function(error, root) { 
    ..... 
} 
+0

是的,這是正確的,我已經通過保留json文件公共目錄昨天解決了這個問題:-)所以,接受和+1 :-) @mortz –

0

將這個在配置/ application.rb中

#啓動資產管道

config.assets.enabled =真

config.assets.paths < <「#{} Rails.root/app/assets/something「

+0

不起作用。試過。 –

相關問題