使用来自控制台的carrierwave附加文档

时间:2016-07-19 15:00:39

标签: ruby-on-rails carrierwave attachment

我有一份文件' example.docx'位于我的应用程序的公共文件夹中。

我希望使用carrierwave gem从控制台创建一个包含该文档的主题记录

Subject.create(group_id: 3, type: 1, attachment: __________)

subject.rb中:

mount_uploader :attachment, FileUploader

我试图按照文档编写的那样做:

subject = Subject.new
File.open("public/example.docx") do |f|
  subject.attachment = f
end
subject.save!

subject.attachment.url会产生NoMethodError: undefined method `url' for "#<File.........>":String

1 个答案:

答案 0 :(得分:1)

假设文件FileUploader中有app/uploaders/file_uploader.rb,那么听起来它可能是应用重启和/或春天问题 - 即。您的应用尚未完全/成功重新加载上传器。

所以:

  1. 停止您的控制台和服务器。
  2. 停止弹簧spring stop(或终止进程)。
  3. 启动控制台。
  4. 尝试重新创建/保存。