我有一个每周生成器可以压缩一些文件。有些是app/assets/images/xxx.xxx
中的资产,有些是通过Paperclip和public/system/env...
我在app
之后开始的文件路径,没有/images/
或public
。
我会收到类似/assets/some.png
或/system/production/xyz/some.jpg
的内容,这些内容可以作为网址路径使用,但我想将它们收集在一个文件中。
如何获取资产的文件路径?
我认为这是解释它的一种更简单的方法。
鉴于资产URI字符串,我如何找到并获取资产的文件路径?
资产网址路径/assets/logo.png
可以是以下文件之一:
public/logo.png
public/assets/logo.png
app/assets/images/logo.png
答案 0 :(得分:0)
Rails.root
为您提供项目根目录的绝对路径。
(它返回Pathname个对象)
然后你可以这样做:
Rails.root.join("some_dir1", "some_dir2", "some_file")
所以要获取公共/资产中的文件路径:
Rails.root.join("public", "assets", "file.jpg")
答案 1 :(得分:0)
在生产中,应预先编译资产并从公共根文件夹/public/assets/logo.png提供服务