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

我将通过说这可能正在接近这个错误来作为序言。 我要做的是使用data- attribute将url w / transformation传递给JS。

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

 = cl_image_tag(image.asset.filename.to_s, transformation: "scroller", :"data-medium" => image.asset.filename.to_s) 

产生这个:

  

我希望能够做到的是输出它(利用我设置的t_medium命名过渡):

  

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

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

 cloudinary_url(image.asset.filename.to_s, transformation: "medium") 

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

 cloudinary_url(image.asset, transformation: "medium") 

在Tal Lev-Ami的回答之上:

如果需要在视图外调用cloudinary_url(例如在api的序列化模型中),则有2个选项:

  • 依靠“帮手”: helper.cloudinary_url
  • 或使用Cloudinary::Utils.cloudinary_url