2017-09-29 1 views
0

Ma forme envoie des données commeComment convertir des rails de paramètres forts 4

{"utf8"=>"✓", 
"authenticity_token"=>"", 
"org_document"=>{"is_fin_changed"=>"Y"}, 
"commit"=>"Save", 
"document_type"=>"FIN_CART"} 

Alors, j'ai écrit paramètre fort comme

def req_document_params 
    params.fetch(:org_document,{}).permit(:document_type,:is_fin_changed) 
end 

Mais il envoie seulement {"is_fin_changed"=>"Y"} Je ne sais pas ce qui est faux! Toute aide appréciée :)

+0

Don » t vous voyez que 'document_type' est hors des paramètres' org_document'? Afficher le code associé à cette requête –

+0

J'ai donné le code lié à la demande. Je ne sais pas comment inclure le ': document_type' – learner2017

+1

Pourquoi les gens mettent -1 vote pour une question constructive. Ne voyez-vous pas que l'auteur n'a qu'un seul point de réputation? Au lieu de mettre vous répondez que vous votez vers le bas:/ –

Répondre

0

Dans votre cas fetch valeur de retour de la méthode de :org_document il retourne {"is_fin_changed"=>"Y"} alors vous appelez permit, mais {"is_fin_changed"=>"Y"} il n'y a pas :document_type

Essayez

def req_document_params 
    params.require(:org_document).permit(:is_fin_changed).merge(params.permit(:document_type)) 
end