2015-06-22 11 views
9

Ho cercato ovunque ma qualcuno sa se è possibile consentire e array di array che utilizzano parametri forti nei binari? Il mio codice è simile al seguente:Consentire array di array con parametri forti nei binari

params.require(:resource).permit(:foo, :bar => [[:baz, :bend]]) 

Questo mi sta dando:

ArgumentError (numero errato di argomenti (0 per 1..2))

Ho anche provato:

params.require(:resource).permit(:foo, :bar => [[]]) 
params.require(:resource).permit(:foo, :bar => [][]) 
params.require(:resource).permit(:foo, :bar => []) 

Ma questi tutti mi danno errori di parametro non validi o non elaborano i parametri.

Grazie in anticipo per qualsiasi aiuto

risposta

0

Ecco un esempio tratto dalla rails strong parameter Github page:

params.permit(:name, {:emails => []}, :friends => [ :name, { :family => [ :name ], :hobbies => [] }]) 
+1

Non penso che l'esempio sia un array di matrici, sembra essere un array con un hash e quindi un array all'interno di quell'hash. Vorrei usare una serie di hash, tuttavia non posso farlo perché i tasti possono essere gli stessi con la configurazione corrente che ho per il mio progetto –

2

Guardando il code penso che questo non è possibile. devi appiattire il secondo livello.

def permit(*filters) 
    params = self.class.new 

    filters.each do |filter| 
    case filter 
    when Symbol, String 
     permitted_scalar_filter(params, filter) 
    when Hash then 
     hash_filter(params, filter) 
    end 
    end 

    unpermitted_parameters!(params) if self.class.action_on_unpermitted_parameters 

    params.permit! 
end 
+0

C'è un problema aperto su questo per ora: https://github.com/rails/rotaie/temi/23640 – jwadsack

Problemi correlati