Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在生产模式下面临图像url问题_Ruby On Rails_Paperclip_Asset Pipeline_Development Environment_Production Environment - Fatal编程技术网

Ruby on rails 在生产模式下面临图像url问题

Ruby on rails 在生产模式下面临图像url问题,ruby-on-rails,paperclip,asset-pipeline,development-environment,production-environment,Ruby On Rails,Paperclip,Asset Pipeline,Development Environment,Production Environment,我有这种类型的代码 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

我有这种类型的代码

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
/image.jpg
请帮我解决这个问题。
谢谢你

你是否预先完成了你的资产。就像在
制作中一样,rails在
public
文件夹中查找
assets
,在
assets
文件夹中查找not。我可能错了,但可能是因为资产管道。您可以通过在
public
文件夹中手动添加图像,然后运行
rake assets:precompile
来解决此问题,以便它在中可用
public
文件夹。 此外,对于处理默认图片的相同内容,您也可以使用我的代码

因此,我可以轻松地使用
@user.get_picture\u url
,它的工作原理是很棒
还有一件事需要注意,我使用的是“存在”吗?而不在场?

您是否预先完成了您的资产,rails在
public
文件夹中查找
assets
,在
assets
文件夹中查找not。我可能错了,但可能是因为资产管道。您可以通过在
public
文件夹中手动添加图像,然后运行
rake assets:precompile
来解决此问题,以便它在中可用
public
文件夹。 此外,对于处理默认图片的相同内容,您也可以使用我的代码

因此,我可以轻松地使用
@user.get_picture\u url
,它的工作原理是很棒还有一件事需要注意,我使用的是“存在”吗?而且不在场?

###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