我尝试使用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:
以前有人有这个问题吗?
谢谢!