上传者:如何将自定义文件夹名称设置为用户 ID?
Uploader: How to set custom folder name equal to user id?
我已经实现了 CarrierWave 上传器,希望文件夹路径包含它所属组织的 ID。
在组织控制器中:
def create
@organization = Organization.new(new_params)
if @organization.save
Image.upload_file(@organization.id)
end
end
因此控制器方法将组织的 ID 传递给模型方法。 Image模型中的模型方法如下:
def self.upload_file(id)
newimage = Image.new
File.open('app/assets/emptyfile.xml') do |f|
newimage.file_name = f
end
newimage.organization_id = id
newimage.save!
end
在图片上传器中我指定了文件夹路径:
def store_dir
"#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
我的问题:在此文件夹路径中,我想包含组织的 ID(作为参数传递给模型方法的 ID)而不是 model.id
(这将是记录的 ID在 Image 模型中而不是 Organization 模型中记录的 id)。我该怎么做?
你用 model.organization_id
试过了吗?
def store_dir
"#{model.class.to_s.underscore}/#{mounted_as}/#{model.organization_id}"
end
我已经实现了 CarrierWave 上传器,希望文件夹路径包含它所属组织的 ID。
在组织控制器中:
def create
@organization = Organization.new(new_params)
if @organization.save
Image.upload_file(@organization.id)
end
end
因此控制器方法将组织的 ID 传递给模型方法。 Image模型中的模型方法如下:
def self.upload_file(id)
newimage = Image.new
File.open('app/assets/emptyfile.xml') do |f|
newimage.file_name = f
end
newimage.organization_id = id
newimage.save!
end
在图片上传器中我指定了文件夹路径:
def store_dir
"#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
我的问题:在此文件夹路径中,我想包含组织的 ID(作为参数传递给模型方法的 ID)而不是 model.id
(这将是记录的 ID在 Image 模型中而不是 Organization 模型中记录的 id)。我该怎么做?
你用 model.organization_id
试过了吗?
def store_dir
"#{model.class.to_s.underscore}/#{mounted_as}/#{model.organization_id}"
end