Rails - 如何获取资产的文件路径(而不是URL路径)?

时间:2015-12-14 07:06:34

标签: ruby-on-rails ruby

我有一个每周生成器可以压缩一些文件。有些是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 

2 个答案:

答案 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提供服务