Ruby / Rails – 转义uri用于css
在我的应用程序中,用户上传了一个图像,然后我将其放在S3上.然后使用以下样式将该图像用作div的背景
div#id { background: url('<%= creative.url %>') no-repeat;} 创意网址如下所示: http://myhost.s3-website-us-east-1.amazonaws.com/27/display/608-(rec’d_021014)_user_image.jpg?1392767029 如上所述,问题是creative.url可以包含特殊字符(引号,parens等),并且根据http://www.w3.org/TR/CSS2/syndata.html#value-def-uri,它需要被转义. 我希望有一些方便的ruby / rails功能可以解决这个问题. 如果没有,那么我可能需要做一些正则表达式替换 – 那会是什么样子? 更新: 人们建议使用URI编码函数 – 我确实尝试过,但url字符串直接在ERB模板中使用,所以它会编码整个事情,这在css url函数中不起作用 – 即,我会喜欢(从上面): div#id {background:url(‘http://myhost.s3-website-us-east-1.amazonaws.com/27/display/608-(rec’d_021014)_user_image.jpg?1392767029’)no-repeat ;} 解决方法
推荐的方法是使用
ERB::Util的url_encode
在Rails中,url_encode有一个alias u. div#id { background: url('<%=u creative.url %>') no-repeat;} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- C#程序运行正常,直到最小化
- iphone – 所有类型的NSNotifications是什么?
- DataGridView使用技巧(十四、单元格的边框、网格线设置)-
- 是否可以使用变量而不在postgreSQL中指定返回类型?
- 服务端渲染react+mobx+webpack+express实战(同时也支持客户
- postgresql – 如何进行级联更新?
- 适用于UWP应用开发的开源React Native插件
- vue2.0的contextmenu右键弹出菜单的实例代码
- ruby-on-rails – WebSocket握手期间出错:意外的响应代码:
- ruby-on-rails – Ruby中的“for x”是什么意思?