在生产模式下遇到图像 url 问题

facing issue with image url in production mode

我有这种代码

module PhotosHelper 
  def photo_default_image_url(photo)
    if photo.image_url == "/assets/image.jpg"
        URI.join(root_url, "/assets/image.jpg")
    else
        photo.image_url(:thumb)
    end
  end
end

and image code is 

 <img src="<%= photo_default_image_url(@photo) %>">

它在开发环境中运行良好。

我得到了 url 这样的图像

http://localhost:3000/assets/image.jpg

但它在生产环境中不起作用

我得到了 url 这样的图像

/image.jpg

请帮我解决这个问题。 谢谢

您是否预先完成了资产。与 production 一样,rails 在 public 文件夹中查找 assets 并且not in assets folder.i 可能是错误的,但这可能是因为资产 pipeline.You 可以通过在 [=13= 中手动添加图像来解决这个问题] 文件夹,然后 运行 rake assets:precompile 以便它在 public 文件夹中可用。 此外,对于处理默认图片的相同内容,您也可以使用我的代码。

###in picture.rb
## belongs_to :user
MISSING_PICTURE_URL = '/assets/picture_missing.png'

##in user.rb
##has_many :pictures
def get_picture_url
  self.pictures.exists? ? self.pictures.sample.picture.expiring_url(:medium) : Picture::MISSING_PICTURE_URL

end

所以我可以很容易地使用 @user.get_picture_url,而且效果很好很好这里还有一点要注意,我正在使用use exists?不在场?