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