ruby-on-rails - 在 Rails 视图中渲染内联背景图像时转义路径/url
问题描述
我在 ERB 模板中有以下 Rails 视图,我在其中设置了内联样式背景图像。
(url
为演示而硬编码,但实际上它是通过我的模型中的回形针附件Photo
生成的(例如photo.source.url(:medium)
)
<% url = "/system/photos/sources/000/000/008/medium/20160820_131939" %>
<div class="photo" background-image: url(<%= url %>);>
</div>
这最终呈现以下<div>
从 Chrome 的检查器中复制上述内容表明它是作为键值对生成的
<div class="photo" background-image:="" url(="" system="" photos="" sources="" 000="" 008="" medium="" 20160820_131939);="">
</div>
为什么 Rails 会这样做?它似乎试图逃避路径中的正斜杠?
我尝试了各种形式的
html_safe
转义/取消转义,但没有运气。image_path
并且asset_path
在这里不适用,因为我的路径是由回形针 gem 生成的,它将在所有环境中正确生成正确的路径。
谢谢!
解决方案
该background-image
属性是 CSS 并且需要在样式属性内。IE<div class="photo" style="background-image: url('<%= url %>');" >
推荐阅读
- django - Django 从数据库中获取随机对象
- java - Azure Webapp Java Rest API 端点不起作用
- python - 我想在Python循环中的每个图旁边绘制每个图例
- c# - 线程进程在执行完整代码之前退出
- applescript - 在applescript中设置时间码
- unicode - 终端中缺少 Unicode 字符
- python - python请求没有得到整页
- powershell - Powershell 和 Web 服务:其中一个参数是 DateTime……我怎样才能传递那个值?
- reactjs - 如何在 Fable 中实例化自定义 React 组件?
- azure-pipelines - 在作业模板中,如何根据模板参数更改作业名称?