显示使用回形针导轨上传的文档

哈桑·阿什兰

我在帖子中使用回形针,以允许用户上传带有帖子的图像。

但是,当我执行相同的概念但用户上传文档(doc,pdf等)时,出现错误:

No route matches [GET] "/documents/original/missing.png"

似乎该帖子已上传,但文档未存储在数据库中。

这是我的帖子模型:

class Post < ApplicationRecord
  belongs_to :category
  belongs_to :user
  validates :user_id, presence: true
  validates :category, presence: true

  has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" }
  validates_attachment_content_type :image, content_type: /\Aimage\/.*\z/

  has_attached_file :document
  validates_attachment_content_type :document, content_type: { content_type: %w(application/pdf application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document) }
end

这是我的迁移:

class AddAttachmentDocumentToPosts < ActiveRecord::Migration[6.0]
  def self.up
    change_table :posts do |t|
      t.attachment :document
    end
  end

  def self.down
    remove_attachment :posts, :document
  end
end

我尝试通过以下方式显示文档:

<iframe src="<%= @post.document.url %>"></iframe>
AND
<%= link_to "My document", @post.document.url, target: "_blank" %>

两者都返回相同的错误。

我以为可能是因为我不允许在参数中使用它。但是当我这样做时,我什至无法上传文档。我在日志中得到这个:

Started POST "/posts" for ::1 at 2020-02-01 02:01:26 +0100
Processing by PostsController#create as HTML
  Parameters: {"authenticity_token"=>"g/XEFJGg3W9WwjBqasme4KnGwqTeL4HyZJztI0AvJC5D4nuZx7nUVBVMM5jSkCORMhO1ItJo3X/RvuuhJqpwjQ==", "post"=>{"title"=>"d", "body"=>"d", "category_id"=>"1", "document"=>#<ActionDispatch::Http::UploadedFile:0x00007fb0369bad50 @tempfile=#<Tempfile:/var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/RackMultipart20200201-96604-1sh7xm.pdf>, @original_filename="test.pdf", @content_type="application/pdf", @headers="Content-Disposition: form-data; name=\"post[document]\"; filename=\"test.pdf\"\r\nContent-Type: application/pdf\r\n">}, "commit"=>"Create Post"}
  User Load (0.1ms)  SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ?  [["id", 1], ["LIMIT", 1]]
  ↳ app/controllers/posts_controller.rb:36:in `create'
[paperclip] Trying to link /var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/RackMultipart20200201-96604-1sh7xm.pdf to /var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-8ry78w.pdf
[paperclip] Trying to link /var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-8ry78w.pdf to /var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-1h5w1ey.pdf
Command :: file -b --mime '/var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-1h5w1ey.pdf'
   (0.1ms)  begin transaction
  ↳ app/controllers/posts_controller.rb:39:in `block in create'
  Category Load (0.3ms)  SELECT "categories".* FROM "categories" WHERE "categories"."id" = ? LIMIT ?  [["id", 1], ["LIMIT", 1]]
  ↳ app/controllers/posts_controller.rb:39:in `block in create'
[paperclip] Trying to link /var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-8ry78w.pdf to /var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-vzv89v.pdf
Command :: file -b --mime '/var/folders/xc/f72yt5g91mq_4trwxgnc72n40000gq/T/098f6bcd4621d373cade4e832627b4f620200201-96604-vzv89v.pdf'
   (0.1ms)  rollback transaction
  ↳ app/controllers/posts_controller.rb:39:in `block in create'
  Rendering posts/new.html.erb within layouts/application
  Rendered posts/_navbar.html.erb (Duration: 0.5ms | Allocations: 734)
  Category Load (0.1ms)  SELECT "categories".* FROM "categories"
  ↳ app/views/posts/_form.html.erb:9:in `map'
  Rendered posts/_form.html.erb (Duration: 1.9ms | Allocations: 1394)
  Rendered posts/new.html.erb within layouts/application (Duration: 2.7ms | Allocations: 2263)
[Webpacker] Everything's up-to-date. Nothing to do
Completed 200 OK in 76ms (Views: 39.3ms | ActiveRecord: 0.7ms | Allocations: 16989)
哈桑·阿什兰

问题在我的帖子模型中。我只需要替换:validates_attachment_content_type

使用:validates_attachment_type

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用回形针显示上传的图像

来自分类Dev

显示使用回形针上传的PDF

来自分类Dev

使用回形针导轨嵌套属性4

来自分类Dev

无法使用回形针导轨上传到 S3 5.无效的配置选项:bucket

来自分类Dev

使用回形针上传的Heroku中的图像未显示

来自分类Dev

无法使用回形针gem上传图像

来自分类Dev

无法使用回形针gem上传图像

来自分类Dev

如何使用回形针立即显示上传图像的缩略图?

来自分类Dev

使用回形针在Rails应用程序中上传照片时,显示内容类型无效

来自分类Dev

用回形针上传多张图片?

来自分类Dev

使用回形针上传图片时出现“未知属性:头像”?

来自分类Dev

如何防止使用回形针上传重复文件

来自分类Dev

从使用回形针上传的原始图像中删除exif

来自分类Dev

Rails 4:使用回形针上传多张图片

来自分类Dev

使用回形针上传base64图像-Rails 4

来自分类Dev

如果尝试使用回形针上传图像,则表格不保存

来自分类Dev

Rails 4:使用回形针上传多张图片

来自分类Dev

Rails使用回形针上传图片并进行设计

来自分类Dev

尝试使用回形针上传图像时,Rails出现错误

来自分类Dev

使用回形针导轨仅获取第一张图像

来自分类Dev

用回形针上传图像?滑轨4

来自分类Dev

使用回形针/导轨将人像转换为风景,并使用左右填充将其转换为新图像

来自分类Dev

打开上传的文档-回形针

来自分类Dev

使用回形针上传图片时出现未定义的“图片”错误?

来自分类Dev

如何使用Rails中的ruby用回形针即时预览上传的图像

来自分类Dev

使用回形针和simple_form将文件上传到Rails 4.0

来自分类Dev

在Rails 4.2中使用回形针上传非图像文件时出错

来自分类Dev

如何使用回形针在Rails 4中上传多个图像

来自分类Dev

在S3存储器上使用回形针下载和上传的不同URL

Related 相关文章

  1. 1

    使用回形针显示上传的图像

  2. 2

    显示使用回形针上传的PDF

  3. 3

    使用回形针导轨嵌套属性4

  4. 4

    无法使用回形针导轨上传到 S3 5.无效的配置选项:bucket

  5. 5

    使用回形针上传的Heroku中的图像未显示

  6. 6

    无法使用回形针gem上传图像

  7. 7

    无法使用回形针gem上传图像

  8. 8

    如何使用回形针立即显示上传图像的缩略图?

  9. 9

    使用回形针在Rails应用程序中上传照片时,显示内容类型无效

  10. 10

    用回形针上传多张图片?

  11. 11

    使用回形针上传图片时出现“未知属性:头像”?

  12. 12

    如何防止使用回形针上传重复文件

  13. 13

    从使用回形针上传的原始图像中删除exif

  14. 14

    Rails 4:使用回形针上传多张图片

  15. 15

    使用回形针上传base64图像-Rails 4

  16. 16

    如果尝试使用回形针上传图像,则表格不保存

  17. 17

    Rails 4:使用回形针上传多张图片

  18. 18

    Rails使用回形针上传图片并进行设计

  19. 19

    尝试使用回形针上传图像时,Rails出现错误

  20. 20

    使用回形针导轨仅获取第一张图像

  21. 21

    用回形针上传图像?滑轨4

  22. 22

    使用回形针/导轨将人像转换为风景,并使用左右填充将其转换为新图像

  23. 23

    打开上传的文档-回形针

  24. 24

    使用回形针上传图片时出现未定义的“图片”错误?

  25. 25

    如何使用Rails中的ruby用回形针即时预览上传的图像

  26. 26

    使用回形针和simple_form将文件上传到Rails 4.0

  27. 27

    在Rails 4.2中使用回形针上传非图像文件时出错

  28. 28

    如何使用回形针在Rails 4中上传多个图像

  29. 29

    在S3存储器上使用回形针下载和上传的不同URL

热门标签

归档