2016-06-20 12 views
6

Używam poleceń rusztowania do tworzenia moich komponentów w mojej aplikacji Rails 4.Szyny 4 - mocne parametry z rusztowaniem - params.fetch

Ostatnio terminologia stosowana w metodzie ustawiania silnych parametrów zmieniła się z params.require na params.fetch, a teraz w ustawieniach znajdują się nawiasy klamrowe.

Nie mogę znaleźć żadnej dokumentacji wyjaśniającej zmianę lub jak z niej korzystać.

Czy nadal mogę napisać params.fetch (: engagement) .permit (: opinion) do polecenia fetch? Nie wiem, co zrobić z aparatami ortodontycznymi.

Jak mogę wykonać silne params przy użyciu tej nowej formy wyrażenia?

Odpowiedz

4

nigdy nie natknąłem się na tę sytuację, ale tutaj, znalazłem odniesienie do fetch metody

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

mogę jeszcze napisać params.fetch (: (zaangażowanie) .permit: opinia) do pobrać polecenie?

Tak, można nadal korzystać

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

nie wiem co zrobić z klamrami.

Jest to wartość domyślna, która zostanie zwrócona, jeśli klucz nie istnieje lub będzie rzucać błąd

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

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

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

Jak mogę wykonać silne params przy użyciu tej nowej formy ekspresji?

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

Dzięki @Deepak - jakim celu robić nawiasy klamrowe służą w rusztowaniu? – Mel

+1

@Mel Zwróci ci pusty hasz w przypadku braku klucza: zaangażowanie w parametry. sprawdź powyżej Edytowałem odpowiedź –

+0

Dzięki @Deepak - czy to znaczy, że jeśli chcę zacząć używać nowego sposobu ustawiania silnych paramerów, powinienem użyć trzeciego przykładu w twojej odpowiedzi? – Mel