使用 angularjs 和 rails 上传 4
Upload with angularjs and rails 4
我想用我的 post 上传插图图像,我已经安装了 carrierwwave 和 angularjs-file-upload 但它不起作用
%form.edit-user{:role => "form", :multipart => "true"}
[..another field of my post..]
%input{:type => "file", :name => "image", "nv-file-select"=>"", "uploader"=>"uploader"}
我已经将此代码以我的形式写入我的载波 class :
class ImageUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
我的模特:
class Recette < ActiveRecord::Base
mount_uploader :image, ImageUploader
end
和我的控制器:
def create
@recette = Recette.new(params.require(:recette).permit(:name,:instructions))
@recette.image = params[:image]
@recette.save
render 'show', status: 201
end
我已将模块加载到我的应用程序中 angular 并将其添加到我的控制器中:
$scope.uploader = new FileUploader({url: '/recettes/new'}, {alias: 'image'});
我使用 jbuilder gem 和我的 _recette.json.jbuilder :
json.(recette, :id, :name, :instructions, :image)
感谢您的帮助
已解决:
$scope.uploader = new FileUploader({url: '/recettes/new'}, {alias: 'image', formData: 'Your Data'});
您需要在 'formData' 对象中指定您的所有数据将随上传一起发送。
我想用我的 post 上传插图图像,我已经安装了 carrierwwave 和 angularjs-file-upload 但它不起作用
%form.edit-user{:role => "form", :multipart => "true"}
[..another field of my post..]
%input{:type => "file", :name => "image", "nv-file-select"=>"", "uploader"=>"uploader"}
我已经将此代码以我的形式写入我的载波 class :
class ImageUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
我的模特:
class Recette < ActiveRecord::Base
mount_uploader :image, ImageUploader
end
和我的控制器:
def create
@recette = Recette.new(params.require(:recette).permit(:name,:instructions))
@recette.image = params[:image]
@recette.save
render 'show', status: 201
end
我已将模块加载到我的应用程序中 angular 并将其添加到我的控制器中:
$scope.uploader = new FileUploader({url: '/recettes/new'}, {alias: 'image'});
我使用 jbuilder gem 和我的 _recette.json.jbuilder :
json.(recette, :id, :name, :instructions, :image)
感谢您的帮助
已解决:
$scope.uploader = new FileUploader({url: '/recettes/new'}, {alias: 'image', formData: 'Your Data'});
您需要在 'formData' 对象中指定您的所有数据将随上传一起发送。