0

我正在使用 Carrierwave gem + Mercury Editor,我希望允许用户创建邮件活动并发送它们。一切正常,但我对内联图像有问题。

在 image_uploader.rb 我有

def store_dir
  "#{uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

我有 newsletters.contents 列,它包括来自 Mercury 的预格式化 HTML,包括图像。

<img src="uploads/...">因此,在电子邮件 .eml 文件中,我的路径类似于<img src="http://uploads/...">If I change path to #{Rails.root}/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}uploading not working 。

有没有什么办法解决这一问题?

4

1 回答 1

0

我通过在mercury_update控制器动作中添加gsub解决了它

def mercury_update
    newsletter = Newsletter.find(params[:id])
    newsletter.title = params[:content][:newsletter_title][:value]
    newsletter.content = params[:content][:newsletter_content][:value]
    newsletter.update_attributes(content: newsletter.content.sub!('<img src="/uploads/', '<img src="http://host.com/uploads/'))
    newsletter.save!
    render text: ""
end

但我觉得这是丑陋的解决方案

于 2013-10-07T13:20:00.313 回答