Par*_*ras 4 javascript ruby-on-rails angularjs ruby-on-rails-5
我有一个基于 Web 的应用程序,后端构建在Rails 5上。我在前端使用AngularJS。我没有使用Asset Pipeline来提供任何静态内容,我的所有脚本(JS&CSS)都加载到了index.html文件中,public directory然后我使用 angular 的ng-route来进一步管理位置。
问题出现的时候,我的一个HTML页面,我需要包括图像使用HTML图像标记,问题是,服务器无法找到图像文件。
<img src="assets/images/logo.jpg" style="padding-bottom:20px;" />
Run Code Online (Sandbox Code Playgroud)
我尝试将图像保留在app/assets/images和public/assets/images 目录中,但在所有实例中,我都收到路由错误,指出在我的 rails 服务器控制台中找不到路由。
参考几个堆栈溢出答案,我在我的 config development.rb 文件中尝试了这一行:
config.public_file_server.enabled = true
Run Code Online (Sandbox Code Playgroud)
但它没有用。那么如何在不使用 Rails Assetpipeline 的情况下提供图像?
要在不使用资产管道的情况下提供图像,请将图像放在public目录中。
在您的视图中your_app/public/images/logo.jpg使用引用了图像<img src="/images/logo.jpg。
Rails 还为此提供了一个辅助方法,它生成相同的代码,但提供了一些额外的 Rails 功能:\
<%= image_tag('/images/logo.jpg') %>
Run Code Online (Sandbox Code Playgroud)
同样,您省略public了路径的一部分。此外,我建议不要在public被调用的目录中设置一个目录assets- 它将被资产管道覆盖。它也会让你感到困惑。我会将该目录名称更改为其他名称。
| 归档时间: |
|
| 查看次数: |
3967 次 |
| 最近记录: |