将文件上传到rails 4.0

时间:2014-05-25 02:04:21

标签: ruby-on-rails file upload

我正在使用Rails开发一个CMS应用程序,我想知道是否有人可以指导我或链接我一些教程,说明如何将文件附加到记录?例如,我有一个名为Contract的模型。我需要上传与该合同相关的各种pdf,word文件,电子表格等。然后我需要能够下载这些文件。我还需要能够锁定它们进行编辑。我不一定在寻找一步一步的指示,但是朝着正确的方向推进会很棒。

谢谢!

1 个答案:

答案 0 :(得分:1)

我们使用Paperclip(虽然Carrierwave也很有用):

#app/models/contract.rb
Class Contract < ActiveRecord::Base
   has_attached_file :attachment
   validates_attachment_content_type :avatar, :content_type => /\Apdf\/.*\Z/
end

这允许您使用所需的附件填充对象:

#app/views/contracts/new.html.erb
<%= form_for @contract do |f| %>
   <%= f.file_field :attachment %>
   <%= f.submit %>
<% end %>

必须注意PaperclipCarrierwave实际上并不处理文件。他们只是提供一个方式来将它们上传到您的服务器。这两个宝石基本上都会在你父母的父母身上创造一个对象。一,允许您引用

中包含的文件