我是新来的铁路。我想了解rails中的文件上传过程。谁能帮助我...谢谢,Althaf
问问题
20984 次
2 回答
6
通常 gems/plugins 用于处理文件上传。我最喜欢的,也许是最普遍的就是Paperclip。
在您看来,您必须告诉 rails 表单助手您正在上传这样的文件:
<%= form_for @model, :html => { :multipart => true } do |form| %>
于 2010-10-14T12:32:31.380 回答
1
这是一种关于如何在不使用任何 gem 并且仅使用 rails 的情况下上传文件的方法,
解决方案:=>
def create
@photo = Photo.new(photo_params)
uploaded_io = params[:photo][:photo]
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
if @photo.save
flash[:success] = "The photo was added!"
redirect_to root_path
else
render 'new'
end
end
def upload
uploaded_io = params[:person][:picture]
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
而你的 form.html.erb 在视图中应该包含这个,很简单,
<%= form_for @photo do |f| %>
<%= f.file_field :photo %>
<div class="actions">
<%= f.submit "Upload" %>
</div>
<% end %>
最后模型应该有
has_attached_file :image
.################################################ # 您现在可以享受加载任何文件的乐趣了。
谢谢你。玩得开心。
Use <video_tag> for viewing video files.
Use <audio_tag> for viewing audio files.
Use <object>"link"</object> for viewing PDF or DOC files.
于 2016-02-11T09:32:35.290 回答