将图像上传到rails中的多个模型

时间:2017-06-06 04:50:32

标签: ruby-on-rails carrierwave

我正在使用carrierwave和Minimagick gem将附件上传到S3。现在我想将some.pdf保存在两个模型中(即赋值和消息)。我在附件字段中给出相同的参数以保存在两个表中。但第二个表附件可以节省模糊。第一个人清楚地了解依恋情况 我的控制器代码如,

@assignment = Assignment.new(assignment_params)
@message = Message.new
begin
  Message.transaction do
    asign_att = params[:assignment][:attachment]
    @assignment.save!

    @message.attachment = asign_att
    @message.save!
  end
end  

我的模特有,

(in attachment.rb) mount_uploader :attachment, AttachmentUploader
(in message.rb) mount_uploader :attachment, ImageUploader  

我想将同一个文件保存到两个具有清晰视图的模型中。我想做的事?提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您指定了任何版本或类似内容,请检入您的第二个表上传器文件。 使用版本,您可以使用不同的分辨率创建附件克隆。

 version :thumb do
    process resize_to_fit 50, 50
 end

答案 1 :(得分:0)

我会使用回调来执行此操作,例如:

after_commit :assign_to_models

def assign_to_models
  ...
end

恕我直言,我会创建一个包含所有carrierwave附件的模型,并且它属于messageattachement

我希望这会有所帮助