【问题标题】:Uploading files onto rails 4.0 [closed]将文件上传到 rails 4.0 [关闭]
【发布时间】:2014-07-14 02:51:18
【问题描述】:
我正在使用 Rails 开发 CMS 应用程序,我想知道是否有人可以指导我或将我链接到一些教程,这些教程展示了如何将文件附加到记录?例如,我有一个名为 Contract 的模型。我需要上传与该合同相关的各种 pdf、word 文件、电子表格等。然后我需要能够下载这些文件。我还需要能够锁定它们以进行编辑。我不一定要寻找分步说明,但朝正确方向轻推会很棒。
谢谢!
【问题讨论】:
标签:
ruby-on-rails
file
upload
【解决方案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 %>
必须注意Paperclip 或Carrierwave 实际上并不自己处理文件。它们只是提供一种方式将它们上传到您的服务器。这两个 gem 基本上都在你的“父”对象之上创建一个对象,允许你引用其中包含的文件