У меня есть модель Изображение, где я делаю фото с веб-камерой и сохраняю его. Я загрузить изображения с carrierwave и генерировать изображение с жемчужиной carrrierwave-data-uri Изображение посланный AJAXRails 4: параметр Unpermitted
функция на моем PicturesController.rb является:
def upload_image
photo = params[:picture][:photo]
@picture = Picture.new(picture_params)
@picture.user_id = current_user.id
@picture.photo = photo
@picture.save
end
private
def set_picture
@picture = Picture.find(params[:id])
end
def picture_params
params.require(:picture).permit(:photo, :comment, :user_id)
end
end
Мой Ajax
function save_photo() {
Webcam.snap(function(data_uri) {
$.ajax({
type: 'POST',
url: '/pictures/upload',
async: true,
data: { picture: {photo: data_uri} }
})
.done(function() {
console.log(photo);
});
Webcam.reset();
});
}
Когда я отправляю изображение, оно зарегистрировано в базе данных, но не изображение. Я получаю ошибку консоли:
Самовольной параметр: изображение
Но если добавить параметр : изображение на моих сильных параметрах, я получаю внутреннюю ошибку сервера Завершено 500
Ури данные печатается на моей консоли, но я не могу поместить его в . переменная
Спасибо!
'data_uri = PARAMS [: изображение]'. Попробуйте 'params [: picture] [: image]'. Кроме того, ошибки параметров, которые не были выполнены, возникают из-за того, что изображение отсутствует в сильных параметрах. Я не знаю, есть ли у вас ** атрибут ** ** для ** картины ** модели. Это должно быть причиной «внутренней ошибки сервера». – sajinmp
Спасибо, но такая же ошибка. Я сделал: data: {picture: {photo: data_uri}}, но значение фотографии приходит пустым ["photo", nil] –