我有一个Rails 4应用程序可以抓取给定的网页并将数据保存在Link
模型中。
我将Paperclip gem与after_save
回调结合使用以获取图像的网址,然后将其上传到AWS S3。这一切都很好,我可以在我的S3桶中查看图像。
我遇到的问题是,数据库中的avatar_file_name
,avatar_content_type
,avatar_file_size
和avatar_updated_at
列保持nil
,就好像没有{{} 1}}附加了:avatar
Link
link.rb:
更新:使用控制器代码
class Link < ActiveRecord::Base
after_save :picture_from_url
has_attached_file :avatar, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/
...
def picture_from_url
self.avatar = URI.parse(self.image_url)
end
end
答案 0 :(得分:0)
我解决了。
Link
未获取更新的avatar
信息,因为任何类型的保存操作都没有保留数据。所以,如果我这样做:
def picture_from_url
self.avatar = URI.parse(self.image_url)
self.save
end
一切都很好用。很高兴收到一些关于在我的模型中调用self.save
的反馈。它闻起来像我。