2016-06-20 17 views
6

Rails 4 uygulamasında bileşenlerimi oluşturmak için iskele komutlarını kullanırım. Son zamanlarda, güçlü paramiklikleri belirleme yönteminde kullanılan terminoloji paramiks parametrelerini değiştirdi. Params.quire için ayarlandı ve şimdi kurulumda kaşlı ayraçlar var.Raylar 4 - scaffold ile güçlü parametreler - params.fetch

private 
    # Never trust parameters from the scary internet, only allow the white list through. 
    def engagement_params 
     params.fetch(:engagement, {}) 
    end 

Değişikliği veya nasıl kullanılacağını açıklayan hiçbir belgeyi bulamıyorum.

Hala params.fetch (: angajman) .permit (: fikir) getirme komutuna yazabilir miyim? Kıvırcık parantezlerle ne yapacağımı bilmiyorum.

Bu yeni ifade biçimini kullanarak güçlü paramları nasıl tamamlarım?

cevap

4

Bu durumdan denk gelmedin ama burada, ben

http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-fetch

Hala params.fetch yazabilir miyim fetch yöntemine referans buldum içine (: nişan) .permit (görüş) getirme komutu?

Evet, hala

params.fetch(:engagement).permit(:attributes, :you, :want, :to, :allow) 

Ben küme parantezleri ile ne bilmiyorum kullanabilirsiniz.

It anahtar mevcut değil veya bir hata ben ifade bu yeni formu kullanarak güçlü params tamamlamak nasıl

params.fetch(:engagement) 
#=> *** ActionController::ParameterMissing Exception: param is missing or the value is empty: engagement 

params.fetch(:engagement, {}) 
#=> {} 

params.fetch(:engagement, 'Francesco') 
#=> 'Francesco' 

atacağım eğer iade edilecektir varsayılan bir değer?

params.fetch(:engagement).permit(:attributes, :you, :want, :to, :allow) 
+0

Teşekkür @Deepak - ne amaçla küme parantezleri iskele hizmet yapmak? – Mel

+1

@Mel Anahtarın olmaması durumunda size boş karma gönderir. Yukarıdaki cevabı düzenledim –

+0

Teşekkürler @Deepak - Bu, güçlü paramiklik ayarlamada yeni bir yol kullanmaya başlamak istersem, cevabınızda üçüncü örneği kullanmalı mıyım? – Mel

İlgili konular