存储上传的文件carrierwave RoR

时间:2014-02-24 07:54:12

标签: ruby-on-rails file-upload upload carrierwave

我正在尝试使用carrierwave在我的rails应用程序中上传文件,目前这是我的代码:

控制器:

def fileSave    
    @code.store!(code)
end

查看:

= form_for @code = Code.new(params[:code]), :as => :code, :html => {:multipart => true} do |f|

    div class="browse"
        span

        = f.file_field :code

        = f.submit 'Upload'

者:

# encoding: utf-8

class CodeUploader < CarrierWave::Uploader::Base

    def pre_limit file
        #require 'debugger'; debugger
        if file && file.size > 100.megabytes
            raise Exception.new('too large')
        end
        true
    end

  storage :file

  def store_dir
    "public/uploads"
  end

    def extension_white_list
        %w(txt js ttf html)
    end

    def filename
        "file.txt" if original_filename
    end

end

型号:

require 'carrierwave/orm/activerecord'

class Code < ActiveRecord::Base

    attr_accessor :code
    mount_uploader :code, CodeUploader

end

我的问题是我无法存储上传的文件。 x [我确定这就像3行代码,但我无法弄明白。此外,要上传的文件应该是txt(可能是在查看扩展名列表时)。

感谢所有读者和回答者。 :}

P.S。我想知道我是否可以创建某种虚构的文件,一个不是真正创建的文件。问题是如果从文本区域获取文本并创建文件(虚构文件),将文本存储在内部,然后最终保存整个文件(可能使用carrierwave并手动存储)。

0 个答案:

没有答案
相关问题