【问题标题】:Upload with angularjs and rails 4使用 angularjs 和 rails 4 上传
【发布时间】:2015-05-25 13:03:55
【问题描述】:

我想在帖子中上传插图图片,我已经安装了 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 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)

感谢您的帮助

【问题讨论】:

    标签: javascript ruby-on-rails angularjs upload


    【解决方案1】:

    解决了这个问题:

    $scope.uploader = new FileUploader({url: '/recettes/new'}, {alias: 'image', formData: 'Your Data'});
    

    您需要在“formData”对象中指定您的所有数据将随您的上传一起发送。

    Refer to documentation

    【讨论】:

    • 请解释这行代码是如何解决问题的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2013-09-06
    • 2014-10-20
    相关资源
    最近更新 更多