在生产模式下遇到图像 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?不在场?
我有这种代码
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?不在场?