Rails基于每个用户的carrierwave上传目录

时间:2012-07-26 13:19:10

标签: ruby-on-rails carrierwave

我一直在尝试使用Carrierwave进行图像上传工作正常,我只是想知道如何为每个用户创建一个上传目录,即: -

  

上传/ current_user.id / gallery.id /

我有两张桌子,

图像

  • ID
  • title
  • 递减
  • gallery_id
  • created_at
  • 的updated_at

画廊

  • ID
  • 标题
  • 递减
  • USER_ID
  • created_at
  • 的updated_at
非常感谢

1 个答案:

答案 0 :(得分:4)

由于您提供的设置细节很少,我会根据我的回答做出假设。

如果您有一些Gallery模型,该问题涉及上传者,则上传者会使用model方法返回Gallery个实例。我还假设您的Gallery实例与某些owner记录具有User关系。您只需向上传器添加store_dir方法即可重载默认CarrierWave::Uploader::Base提供的内容。

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