2017-09-05 61 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') %>"; 

这也为咖啡剧本工作,只要做出适当的安排! =)