GMail gem无法找到carrierwave上传的文件

时间:2016-08-11 07:59:08

标签: ruby-on-rails-4

我目前正在尝试一种名为" gmail"的新宝石。我正在尝试发送带有附件文件的消息,但我似乎每次都会遇到此错误:

没有这样的文件或目录@ rb_sysopen - /uploads/upload/avatar/4/filename.png

我附加此图片的代码行如下所示:

def send_message
    params = message_params

    u = Upload.create(avatar: params[:file])
    u.save!
    # puts "Upload: #{u.avatar}\nLocation: #{Rails.root.join(u.avatar.url)}"

    email = @gmail.compose do
      to "#{params[:to]}"
      subject "#{params[:subject]}"
      body "#{params[:message]}"
      add_file "#{Rails.root.join(u.avatar.url)}"
    end
    email.deliver!
    flash[:success] = 'Message sent!'

    Upload.destroy_all

    redirect_to root_path
  end

请帮助我已经坚持了几个小时。

1 个答案:

答案 0 :(得分:0)

显然路径缺乏......设法通过改变路径来解决它:

path = "#{Rails.root}" << "/public" << u.avatar.url