3

我是新来的铁路。我想了解rails中的文件上传过程。谁能帮助我...谢谢,Althaf

4

2 回答 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 回答