我已经实施了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)图像模型而不是组织模型中记录的id)。我怎么能这样做?
答案 0 :(得分:1)
您是否尝试使用model.organization_id
?
def store_dir
"#{model.class.to_s.underscore}/#{mounted_as}/#{model.organization_id}"
end