2015-05-12 15 views
6

adına "nokta" ile güçlü params Raylar:Ben adına bir nokta vardır Rails 4'te bir parametre izin gerekiyor

{ 
    "dictionary_objects.id" => [ 
    "102", "110", "106" 
    ] 
} 

elimden:

Benim params karma aşağıdaki gibi görünür

>> params['dictionary_objects.id'] 
=> [ 
[0] "102", 
[1] "110", 
[2] "106" 
] 

Ama buna izin çalıştığımda, boş karma döndürür:: param değeri elde

>> params.permit('dictionary_objects.id') 
Unpermitted parameters: dictionary_objects.id 
=> {} 

Kimsenin adında bir noktaya parazitlere nasıl izin verebileceğimi bilen var mı?

Teşekkürler.

params.slice('dictionary_objects.id').permit! 

Yani beyaz liste anahtarları yapmak ve çünkü güçlü params deli olmak Yüklü: uç örnekleri için

cevap

6

Sadece bir koleksiyona sahip olduğunuz için izin vermiyor ve tek bir değer parametresine izin vermesini söylüyorsunuz. Eğer

params.permit(:'dictionary_objects.id' => []) 

kullanırsanız, o zaman hepsi iyi olmalıdır.

+0

Geleneksel olarak kabul edemiyorum ama kabul ediyorum :) – apneadiving

+0

Çalışır, ipucu için teşekkürler! – roody

2

Ben çok kullanışlı bir çözüm öneriyoruz.


sidenote:

raylar dictionary_object_idshas_many için ilişkiler gibi args almaya yerleşiğidir, bunun yerine bu kaldıraç olabilir.

İlgili konular