Rails 4:Ajax 400错误请求

时间:2016-08-09 17:17:46

标签: javascript jquery ruby-on-rails ruby ajax

我尝试使用rails uising webcam

通过ajax从我的this gem上传data_uri图像

为此我在 PicturesController.rb上有自定义功能:

  def upload_image
    data_uri = params[:data_uri]  
    @picture = Picture.new(picture_params)
    @picture.user_id = current_user.id 
    if data_uri
      @picture.photo = data_uri
    end
      @picture.save
  end

和我页面上的 javascript

function save_photo() {
      Webcam.snap( function(data_uri) {
        $.ajax({
          type: 'POST',
          url: '/pictures/upload',
          async: true,
          data: { data_uri: data_uri }
        })
        .done(function () {
          console.log(data_uri);
        });

        // shut down camera, stop capturing
        Webcam.reset();
      } );
    }

我还使用gem rack-cors来解决跨域问题。

我的 route.rb

  resources :pictures do
    collection do
      post 'upload', :action => :upload_image
    end 
  end

但是当我调用ajax函数时,我得到 400(错误请求)

控制台显示错误:

ActionController :: ParameterMissing - 缺少param或值为空:picture:

以前有人有这个问题吗?

谢谢!

0 个答案:

没有答案