Avi*_*try 19 ruby ruby-on-rails-3 carrierwave
默认情况下,Carrierwave接收store_dir上传器中生成的url,并预先指定rails应用程序的公用文件夹的路径并存储文件.
例如,如果
def store_dir
"uploads/#{model.id}"
end
Run Code Online (Sandbox Code Playgroud)
然后文件存储在 public/uploads/:attachment_id
如果尝试将存储的文件移出公用文件夹,它仍然保存在公用文件夹中.有没有人知道如何将文件存储在公共文件夹之外?
Elm*_*tou 35
最简洁的方法是设置CarrierWave根选项
CarrierWave.configure do |config|
config.root = Rails.root
end
Run Code Online (Sandbox Code Playgroud)
然后store_dir将在此根目录中使用.
Pre*_*her 12
我意识到这不是一个当前的问题,但我偶然发现它寻找其他东西.答案就是使用Rails.root,例如:
def store_dir
"#{Rails.root}/private/files/#{model.id}"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15139 次 |
| 最近记录: |