我遇到了Paperclip的问题。很容易,我正在尝试使用Paperclip上传.zip文件夹 - 我已经阅读过,似乎可以完成。
然而,我的.zip上传转换为默认的'missing.png'文件 - 我并不知道为什么。这个文件是,呃...这个过程正在进行中,我没有收到任何错误,但显然有些事情并没有成功。
我按照Can't upload zip files using ruby on rails and paperclip gem的说明进行操作,但它仍然没有......改变任何事情。
从我通过相关模型的rails控制台运行中可以看出,该文件根本没有上传。问题是,我不知道在哪里,如何或为什么。
这是我的书模型
book.rb
has_attached_file :content
validates_attachment_content_type :content, :content_type => ["application/zip, application/x-zip"]
before_post_process :skip_for_zip
def skip_for_zip
! %w(application/zip application/x-zip).include?(attachment_content_type)
end
end
快速的rails console peek
2.1.6 :001 > Book.all
Book Load (0.7ms) SELECT "books".* FROM "books"
=> #<ActiveRecord::Relation [#<Book id: 3, title: "Test", summary: "La la la", rating: nil, author_id: nil, word_count: nil, created_at: "2016-10-28 03:53:22", updated_at: "2016-10-28 03:53:22", cover_file_name: nil, cover_content_type: nil, cover_file_size: nil, cover_updated_at: nil, content_file_name: nil, content_content_type: nil, content_file_size: nil, content_updated_at: nil>, #<Book id: 4, title: "ugh", summary: "", rating: nil, author_id: nil, word_count: nil, created_at: "2016-10-28 03:59:33", updated_at: "2016-10-28 03:59:33", cover_file_name: nil, cover_content_type: nil, cover_file_size: nil, cover_updated_at: nil, content_file_name: nil, content_content_type: nil, content_file_size: nil, content_updated_at: nil>]>
2.1.6 :002 >
忽略“封面”部分,我隐藏了一个单独的Paperclip附件来诊断“内容”问题。
但请注意,我没有收到任何错误。完全没有。任何。所以。对于像我这样的新手,StackOverflow Rails Gawds的任何帮助都会非常受欢迎。
答案 0 :(得分:0)
解决!
正如@ henners66建议的那样,我完全错过了:内容作为我的图书管理员的允许参数 - 事实证明,我宣布了有效的内容类型&#39;不正确。应该是:
book.rb
has_attached_file :content
validates_attachment_content_type :content, :content_type => ["application/zip", "application/x-zip"]
before_post_process :skip_for_zip
def skip_for_zip
! %w(application/zip application/x-zip).include?(attachment_content_type)
end
end
谢谢大家!