Я переношу приложение, которое использует Carrierwave для Rails 4, но у меня проблемы с сильными параметрами. У меня есть модель сЗагрузка файла с помощью Rails 4, Strong Parameters и Carrierwave
accepts_nested_attributes_for :photos
Вот как передаются закачанные изображения:
{
# ...
"model"=>
{
# ...
"photos_attributes"=>
{
"1362752177921"=>
{
"image"=>"test.jpg",
}
}
}
}
Однако я не могу показаться, чтобы выяснить, как писать параметры, которые будут принимать photos_attributes
.
Я попытался .permit(photos_attributes: [])
, но он просто пропускает их, когда я использую permit!
, uuid
, что создается до экономии не появляется в SQL, и это второй вопрос:
photos.uuid may not be NULL: INSERT INTO "photos" ("created_at", "model_id", "image", "title", "updated_at") VALUES (?, ?, ?, ?, ?)
Документация для сильных параметров здесь нет, и я даже не уверен, как действовать дальше.
Update Это работает с вложенными атрибутами:
params.permit(..., :photos_attributes => ['id', 'title', 'image', '_destroy'])
Но выглядит как Carrierwave или вложенной формы должны быть обновлены для Rails 4 первых. Он просто пытается сохранить пустой образ все время. Тот же код (без strong_params) работает в Rails 3.