如何使用Cloudinary输出带有转换的URL作为字符串?

Eri*_*oss 4 haml ruby-on-rails cloudinary

我将通过说这可能正在接近这个错误来作为序言.我要做的是使用data-属性将URL转换为JS .

目前,我正在使用以下方法生成图片代码:

= cl_image_tag(image.asset.filename.to_s, transformation: "scroller", :"data-medium" => image.asset.filename.to_s)
Run Code Online (Sandbox Code Playgroud)

产生这个:

<img src="http://res.cloudinary.com/bucket/image/upload/t_scroller/v1373070863/s1ufy3nygii85ytoeent.jpg" data-medium="s1ufy3nygii85ytoeent.jpg">
Run Code Online (Sandbox Code Playgroud)

我希望能够做到的是输出它(利用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">
Run Code Online (Sandbox Code Playgroud)

目前,cl_image_tag通过使用正确配置的URL生成图像标记,正在进行繁重的工作.这很好,但是我似乎找不到任何关于如何将配置的URL作为没有图像标记的字符串输出的文档(用作data-medium属性).我可以手动配置URL,但我想知道是否有更好的方法?

Tal*_*Ami 9

您可以使用cloudinary_url帮助程序生成不带image标记的URL.例如:

cloudinary_url(image.asset.filename.to_s, transformation: "medium")
Run Code Online (Sandbox Code Playgroud)

正如zeantsoi所说,如果您使用的是CarrierWave,您还可以将上传器本身作为参数传递:

cloudinary_url(image.asset, transformation: "medium")
Run Code Online (Sandbox Code Playgroud)