在我的应用程序中,用户上传了一个图像,然后我将其放在S3上.然后使用以下样式将该图像用作div的背景
@H_404_21@解决方法
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 ;}