我将通过说这可能接近这个错误来作为序言。我要做的是使用data-
属性将URL转换为JS。
目前,我正在使用以下内容生成图片代码:
= cl_image_tag(image.asset.filename.to_s, transformation: "scroller", :"data-medium" => image.asset.filename.to_s)
产生这个:
<img src="http://res.cloudinary.com/bucket/image/upload/t_scroller/v1373070863/s1ufy3nygii85ytoeent.jpg" data-medium="s1ufy3nygii85ytoeent.jpg">
我希望能够做到的是输出它(利用我设置的t_medium
命名转换):
<img src="http://res.cloudinary.com/bucket/image/upload/t_scroller/v1373070863/s1ufy3nygii85ytoeent.jpg" data-medium="http://res.cloudinary.com/bucket/image/upload/t_medium/v1373070863/s1ufy3nygii85ytoeent.jpg">
目前,cl_image_tag
通过生成具有正确配置的网址的图片代码来解决繁重问题。这很好,但我似乎找不到任何关于如何将配置的URL作为没有图像标记的字符串输出的文档(用作data-medium
属性)。我可以手动配置URL,但我想知道是否有更好的方法?
答案 0 :(得分:9)
您可以使用cloudinary_url帮助程序生成没有image标记的URL。例如:
cloudinary_url(image.asset.filename.to_s, transformation: "medium")
正如zeantsoi所说,如果您使用CarrierWave,您也可以将上传器本身作为参数传递:
cloudinary_url(image.asset, transformation: "medium")
答案 1 :(得分:4)
在Tal Lev-Ami的回答之上:
如果您需要在视图外调用cloudinary_url(例如在api的序列化模型中),您有2个选项:
helper.cloudinary_url
Cloudinary::Utils.cloudinary_url