显示和下载PDF Ruby on Rails

时间:2016-01-17 20:36:23

标签: ruby-on-rails ruby pdf sqlite paperclip

我正在建立一个用户可以上传图像和PDF文件的网站。

我正在使用Ruby on Rails和paperclip。我有一个名为" show"用户可以使用"名称,描述和图片"来查看他的帖子。但现在我想让每个人都可以上传图像或PDF文件,并且图片旁边的每个文件都有一个下载链接。我正在使用sqlite数据库。

在图片正常的地方我想要一个PDF徽标,他们可以点击这里查看PDF文件。

有人可以在这种情况下帮助我吗?

我的模特:

class Picture < ActiveRecord::Base
  belongs_to :bill

  has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" }
  validates_attachment :image, :content_type => {:content_type => %w(image/jpeg image/jpg image/png application/pdf application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document)}
end

我现在如何展示图片:

<%= image_tag @pictures[0].image.url(), class: "img-responsive" if @pictures.length > 0 %>

提前致谢。

1 个答案:

答案 0 :(得分:0)

只需为PDF添加特殊处理。类似的东西:

<% if @picture.image_content_type=="application/pdf" %>
  <%= link_to (image_tag "pdflogo.png"), @picture.image.url() %>
<% else %>
  <%= image_tag @picture.image.url(), class: "img-responsive" %>
<% end %>

假设图像保存在变量@picture中,而pdflogo.png包含pdf徽标。 (在显示一个图像的代码中直接使用@pictures[0]if @pictures.length > 0不是很干;这应该与显示一张图片的代码分开。)