5

Rails 4 için Carrierwave kullanan bir uygulamayı yüklüyorum, ancak güçlü params sorunları var. Ben burada yüklenen görüntüler geçirilen nasılRaylar 4, Güçlü Parametreler ve Carrierwave ile dosya yükleme

accepts_nested_attributes_for :photos 

bir model var: Ben photos_attributes kabul edecek parametrelerin nasıl yazılacağını anlamaya görünüyor olamaz Ancak

{ 
    # ... 
    "model"=> 
    { 
     # ... 
     "photos_attributes"=> 
     { 
      "1362752177921"=> 
      { 
       "image"=>"test.jpg", 
      } 
     } 
    } 
} 

.

Ben .permit(photos_attributes: []) denedi ama tasarrufu önce oluşturulan permit!, uuid SQL görünmüyor kullandığınızda basitçe, onları atlar ve bu ikinci konudur:

photos.uuid may not be NULL: INSERT INTO "photos" ("created_at", "model_id", "image", "title", "updated_at") VALUES (?, ?, ?, ?, ?) 

güçlü parametreler için Belgeler olduğunu Burada eksik ve nasıl devam edeceğimi bile bilmiyorum.

Güncelleme Bu iç içe özelliklere sahip çalıştı:

params.permit(..., :photos_attributes => ['id', 'title', 'image', '_destroy']) 

Ama Carrierwave veya İçiçe Formu ya ilk Raylar 4 için güncellenmelidir benziyor. Sadece boş bir görüntüyü her zaman kurtarmaya çalışır. (Strong_params olmadan) aynı kod Bu iç içe özellikleriyle çalıştı Raylar 3.

cevap

1

çalışır:

params.permit(..., :photos_attributes => ['id', 'title', 'image', '_destroy']) 

Ama önce Raylar 4 için güncellenmelidir Carrierwave veya İçiçe Form ya benziyor. Sadece :reject_if ile elimden geldiğim boş bir görüntüyü kurtarmaya çalışır, ancak yine de 100 çalışma değildir.