我正在尝试允许用户为其个人资料上传图片,并且到目前为止已将图片上传到[root] / tmp / uploads文件夹。但是,我想在Imgur而不是Heroku上永久托管图像,所以我已经安装了'imgur-api'宝石。
我已经按照他们的文档找到了here。这就是我的upload方法在users_controller.rb
中的样子 def upload
picture = params[:user][:picture]
File.open(Rails.root.join('tmp', 'uploads', picture.original_filename), 'wb') do |file|
file.write(picture.read)
end
Imgur::Client.new('8ec4b8a4de10f42')
Imgur::LocalImage ruby image = Imgur::LocalImage.new(Rails.root.join('tmp', 'uploads', picture.original_filename, title: 'profile'))
Imgur::Image ruby uploaded = Imgur::Client.upload(image)
@user = User.find(params[:id])
@user.update_attribute(:photo_url, uploaded.link)
end
我几乎复制并粘贴了文档中的代码,除了带有重音符号的那行(我不确定这意味着什么或者是否是一个错字),但当我尝试更新个人资料图片时,我得到一个“在UsersController #name中的NameError - 未初始化的常量UsersController :: Imgur”
我将如何初始化此常量?我搜索过这个错误信息,但问题不是关于宝石。我是否必须做类似#include“imgur-api”的事情?
感谢。