0
everyone。请帮我carrierwave和Rails 4Carrierwave不保存磁盘上的文件
型号:
class MediaItem < ActiveRecord::Base
mount_uploader :media_item, MediaItemUploader
end
模式:
create_table "media_items", force: true do |t|
t.string "file"
t.text "description", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
者:
class MediaItemUploader < CarrierWave::Uploader::Base
def store_dir
"public/"
end
控制器:
class MediaItemsController < ApplicationController
def create
@media_item = MediaItem.new(media_item_params)
respond_to do |format|
if @media_item.save
format.html { redirect_to @media_item, notice: 'Media item was successfully created.' }
else
format.html { render :new }
end
end
end
形式:
= form_for @media_item, :html => {:multipart => true} do |f|
.field
= f.label :description
= f.text_field :description
.field
= f.label :file
= f.file_field :file
.actions
= f.submit 'Save'
的问题是,上传的文件没有出现在指定的目录和“media_item.media_item_url”视图中的返回空字符串。但是,它将记录保存到db中:
select file, description from media_items;
#<ActionDispatch::Http::UploadedFile:0xba672374>|wetw