【发布时间】:2016-06-07 19:32:50
【问题描述】:
您好,我使用的是 Ruby 2 和 Rails 4。我正在上传一个 pdf 文件并将其存储在 public/uploads/contact/file/15/abc.pdf,因为我使用的是 CarrierWave,并且在我的 file_uploader.rb 中编写了以下代码。
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
现在我想下载我上传的同一个文件。我怎样才能下载那个文件?如果有人有任何想法,请与我分享。我在下面添加我的代码。
我的代码是:
downloads_form.html.erb
<table class="table table-condensed table-responsive">
<tbody>
<%= form_tag create_form_path, multipart: true do |f| %>
<tr>
<td>ABC</td>
<td><%= file_field_tag "contact[file]", class: "form-control" %></td>
<td><%= submit_tag 'Upload' %></td>
<td><%= link_to "Download", static_pages_downloadform_pdf_path %></td>
</tr>
<tr>
<td>DEF</td>
<td><%= file_field_tag "contact[file]", class: "form-control" %></td>
<td><%= submit_tag 'Upload' %></td>
<td><%= link_to "Download", static_pages_downloadform_pdf_path %></td>
</tr>
<% end %>
</tbody>
</table>
static_pages_controller.rb
def create_form
@form_downup = Contact.new(contact_params)
if @form_downup.save
redirect_to :back
else
render downloads_form_path
end
end
def downloadform_pdf
end
private
def contact_params
params.require(:contact).permit(:file)
end
routes.rb
match '/downloads_form', to: 'static_pages#downloads_form', via: 'get', as: :downloads_form
match '/create_form', to: 'static_pages#create_form', via: 'post', as: :create_form
get "static_pages/downloadform_pdf"
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 carrierwave ruby-on-rails-4.2