2017-09-05 58 views
0

我從Ruby On Rails項目訪問圖像文件時出現問題app/assets/images/dir/image.jpg如何在Ruby On Rails項目資產中使用JavaScript訪問圖像?

它在瀏覽器的圖像框中沒有顯示任何內容。 本地開發環境運行它的節目。 在我的本地機器上的代碼中,我使用的是相對路徑'/assets/dir/'+image.jpg,本地工作正常。

我可以對生產空話顯示「http://xxx.62.xx.127/assets/dir/horuo-9ghiw-vincent-guth.jpg

我在做什麼錯誤打開「http://localhost:3000/assets/dir/ih4modxp4i4-jakob-owens.jpg」的形象,但在網上?

+0

你看不到相同的圖像 – tgdn

+0

那麼圖像/'路徑的一部分或不? –

+3

你能顯示你的實際代碼嗎?通常的解決方法是你需要爲javascript文件創建一個**模板** 'something.js.erb'。通過這種方式,可以解決與資產管道有關的圖像路徑。 –

回答

1

嘗試將文件的config /環境/ production.rb,改變這一行:

config.assets.compile = false 

這樣:

config.assets.compile = true 
1

在這裏的第一個是,當你部署到像Heroku或者運行rake assets:precompile,它會爲您的Rails應用(css,js,圖片,字體)上的每個資源添加一個令牌,用於緩存目的

這不會發生在開發中,s Ø使它工作,你需要先js文件的名稱更新爲something.js.erb,然後當你需要的路徑的圖像,你現在可以嵌入的Ruby on JS,所以像:

var imagePath = "<%= asset_path('image.png') %>"; 

這也爲咖啡劇本工作,只要做出適當的安排! =)