weixin_33690963 2016-08-09 17:17 采纳率: 0%
浏览 14

Rails 4:Ajax 400错误请求

I'm trying to upload a data_uri image from my webcam by ajax with rails uising this gem

For that I have a custom function on my 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

and the javascript on my page:

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();
      } );
    }

I'm also use the gem rack-cors to solve cross domain problems.

My route.rb

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

But when I call the ajax function I getting the 400 (Bad Request)

The console show the error:

ActionController::ParameterMissing - param is missing or the value is empty: picture:

Has anyone had this problem before?

Thanks!

  • 写回答

0条回答 默认 最新

    报告相同问题?