您好我必须将项目分开, images_project 和 site_project 。 site_project 应仅在本地计算机的开发环境中呈现来自 images_project 的图像。在生产中它由SDN完成。
我从'praser_path'中的秘密分享 images_project 路径。
我在 site_project :
中添加了资产配置的图片路径# config/initializers/assets.rb
if Rails.env.development? && Rails.application.secrets.parser_path
# share parser images for admin
Rails.application.config.assets.paths.push(
File.join( Rails.application.secrets.parser_path, 'public', 'uploads')
)
Rails.application.config.assets.precompile += %w( advert_image/** )
end
我的模型在本地机器中查找图像
# model/image.rb
def file_url(size=nil)
if Rails.env.development? && Rails.application.secrets.parser_path
File.join( Rails.application.secrets.parser_path, 'public', file.url(size))
else
REMOTE_HOST + file.url(size)
end
end
但是当一个带有我的图像的页面渲染它时会为所有图像处理404并出现此错误:
http://localhost:3000/Users/nick/CODE/work/biz/parser/public/uploads/advert_image/images/374/micro_3117094366.jpg 无法加载资源:服务器响应状态为404 (未找到)
我知道以下链接不好而且图片已经存在
file:///Users/nick/CODE/work/biz/parser/public/uploads/advert_image/images/374/micro_3117094366.jpg
如何绕过服务器并直接从本地计算机渲染图像?