首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在carrierwave中存储公共文件夹外的文件?

如何在carrierwave中存储公共文件夹外的文件?
EN

Stack Overflow用户
提问于 2011-05-12 21:56:26
回答 5查看 16.2K关注 0票数 21

Carrierwave在默认情况下接受上传程序中由store_dir生成的url,并将rails应用程序的公共文件夹的路径放在前面并存储文件。

例如,如果

def store_dir
  "uploads/#{model.id}"
end

然后将该文件存储在public/uploads/:attachment_id

如果尝试将存储的文件移出公用文件夹,它仍会保存在公用文件夹中。有谁知道如何将文件存储在公用文件夹之外??

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-09 22:57:47

最简单的方法是设置CarrierWave根选项

CarrierWave.configure do |config|
  config.root = Rails.root
end

然后将在此根目录中使用store_dir

票数 40
EN

Stack Overflow用户

发布于 2011-06-22 22:38:40

我意识到这不是一个当前的问题,但我在寻找其他东西时偶然发现了这个问题。答案很简单,使用Rails.root,例如:

  def store_dir
    "#{Rails.root}/private/files/#{model.id}"
  end
票数 12
EN

Stack Overflow用户

发布于 2014-03-28 15:28:13

一种更简洁的解决方案是定义:

def store_dir
  nil
end

请参阅the docs

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5979096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档