0

我只是不知道该怎么做。我需要获取没有文件名的 S3 路径 https://testphotobucket.s3.amazonaws.com/uploads/51237a37ff770df332000007/

而不是这样 https://testphotobucket.s3.amazonaws.com/uploads/51237a37ff770df332000007/tiger.jpg

但我不断收到此错误。未定义的方法gallery_photo_path' for #<Gallery:0x007f94f4658778> undefined methodgallery_photo_http_url' 用于#

如果我使用雾作为存储,我该如何获得路径?

谢谢。下面是我的代码片段。

# models/gallery.rb
class Gallery

  include Mongoid::Document        

  mount_uploader :gallery_photo, PhotoUploader

# uploaders/photo_uploader.rb
class PhotoUploader < CarrierWave::Uploader::Base

  storage :fog

# views/galleries/show.html.erb
<%= image_tag @gallery.gallery_photo_url.to_s %>
path **<%= @gallery.gallery_photo_path.to_s %>**   <--- not working
httppath **<%= @gallery.gallery_photo_http_url.to_s %>** <--- not working

# the error:
undefined method `gallery_photo_path' for #<Gallery:0x007f94f4658778>
undefined method `gallery_photo_http_url' for #<Gallery:0x007f94f46431e8>
4

1 回答 1

0

您所要求的内容并未内置于载波中。你可能应该把它放在一个助手中:

def uri_dirname(uri_string)
  uri = URI.parse(uri_string)
  uri.path = File.dirname(uri.path)
  uri.to_s
end

然后在您看来,您可以使用:

uri_dirname(@gallery.gallery_photo.uri)
于 2013-08-28T12:11:43.077 回答