使用Ruby Rails上传网站上的文件4

时间:2014-11-09 01:24:40

标签: ruby-on-rails ruby

我正在使用rails 4,我有这个代码。

我创建了一个控制器并将其命名为upload(upload_controller.rb)

我把这段代码放进去了:

 class UploadController < ApplicationController
  def index
  render :file => 'app\views\upload\uploadfile.rhtml.erb'
  end

   def uploadFile
   post = DataFile.save(params[:upload])
   render :text => "File has been uploaded successfully"

   end
 end

我的模型叫做data_file.rb。代码如下:

 class DataFile < ActiveRecord::Base
   attr_accessor :upload
   def self.save(upload)
    name =  upload['datafile'].original_filename
     directory = "public/data"
     # create the file path
     path = File.join(directory, name)
     # write the file
     File.open(path, "wb") { |f| f.write(upload['datafile'].read) }
   end

 end

我的视图文件名为uploadFile.html.erb。我的代码如下:

 <h1>File Upload</h1>
 <%= form_tag({:action => 'uploadFile'}, :multipart => true) do %>
     <p><label for="upload_file">Select File</label>
       <%= file_field 'upload', 'datafile' %></p>
     <%= submit_tag "Upload" %>
 <% end %>

我拥有此代码的主要目标是让用户可以将文件上传到指定位置。文件类型必须是任何东西,不仅仅是图像,而是doc,excel表等。一旦我编写这个代码,我做捆绑安装然后我做rake db:migrate,我去工具并运行开发。一旦我这样做,我去firefox并输入localhost:3000,页面无法显示。 (指导我到雅虎搜索或其他)。

我不知道我在这里做错了什么。我想添加宝石或改变某一行或什么?我已经坚持这个问题好几天了,我只想继续我的网页的下一部分。请帮我。谢谢。

0 个答案:

没有答案