您将需要添加
javascript: $('#page_content').editable({
imageUploadURL: '/admin/media/documents/',
imageUploadMethod: 'POST'
}
以carrierwave为例:Carrierwave,你可能需要通读一遍
将 gem 添加到您的 Gem 文件中
gem 'carrierwave'
接着
bundle install
通过carrierwave创建上传者模型
rails g uploader Image
它看起来像这样:
-- app/model/uploader/image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
它将在 app/model/uploaders 中生成 image_uploader.rb
在您的文档模型中:
class document < ActiveRecord::Base
mount_uploader :picture, ImageUploader
end
所以现在你需要为你的上传创建一个路由,从你的路径来看,它可能看起来像 =>
-- config/route.rb
resource :admin do
resource :media do
post 'documents' => 'documents#upload'
end
end
在您的文档中,您需要执行上传操作,以节省时间并明确答案。我将跳过 csrf token cerify。
class DocumentsController < ApplicationController
skip_before_filter :verify_authenticity_token
...
# you need you adjust your code.
def upload
@document = admin.media.documents.new
@document.picture = params[:file]
@document.save
respond_to do |format|
format.json { render :json => { status: 'OK', link: @document.picture.url}}
end
end
...
end
希望这能清楚地解释这个问题。