使用 Rails 后端构建移动应用程序,我想使用 rails 将 facebook 个人资料图片从 facebook 导入我自己的系统。个人资料图片位于某个 url,我后端的图片正在使用 Refile 保存。
ProfilePicture 模型:
class ProfilePicture
include Mongoid::Document
extend Refile::Mongoid::Attachment
attachment :file, type: :image
belongs_to :user
field :created_at, type: String
field :updated_at, type: String
end
用户模型:
class User
include Mongoid::Document
field :created_at, type: String
field :updated_at, type: String
has_one :profile_picture
end
使用 HTTParty 设置图片的代码:
@user = User.find_by(id: 1)
@picture_data = HTTParty.get("https://graph.facebook.com/me/picture", query: {
access_token: access_token,
type: "large"
})
pic = ProfilePicture.new(file: @picture_data.body)
@user.update(profile_picture: pic)
个人资料图片已获取,因为我可以在 HTTP 结果中看到数据。上面“更新”操作的数据库结果将是 mongodb 中的新 ProfilePicture 记录,并引用用户数据,所以也可以。所以唯一的问题是,附件没有被保存。
如何保存附件?