轨道上的红宝石 3 - 载波未在 xml 视图中显示文件路径 - 这是正常的吗?



我有一个支持Carrierwave的应用程序。我甚至可以做一些像 @product.image.url 这样的事情,它会给我存储图像的 url 的路径。

但是,当我浏览到产品#show(即 http://localhost:3000/products/1.xml)时,它正确显示除图像以外的所有内容。

在控制台中,@product.image.url 返回:

"https://bucket_name.s3.amazonaws.com/uploads/products/2/prod1.jpg" 

图像仅显示名称和扩展名。不是路径。这正常吗?

例如,xml 如下所示:

product>
  <attachment>prod1.jpg</attachment>
  <cached-slug>adsfsadf</cached-slug>
  <category-id type="integer">1</category-id>
  <company-id type="integer">1</company-id>
  <created-at type="datetime">2011-05-10T05:10:35Z</created-at>
  <description>description here</description>
  ...

是的,我认为 Carrierwave 正在动态生成 url(在方法内),因此您可以更改或覆盖其计算方式。

format.xml  { render :xml => @product.to_xml(:include => {:attachment => {:only => :url}}) }

编辑:为我工作:

format.xml  { render :xml => @product.to_xml(:except => :attachment, :methods => :attachment_url) }

相关内容

  • 没有找到相关文章