J'utilise cURL pour tester un service Web HTTP RESTFul. Le problème est que je suis normalement un tas soumet des valeurs normalement comme ceci:Ruby on Rails: réduire la complexité des paramètres dans une requête HTTP POST RESTFul (multimodèle)
curl -d "firstname=bob&lastname=smith&age=25&from=kansas&someothermodelattr=val" -H "Content-Type: application/x-www-form-urlencoded" http://mysite/people.xml -i
Le problème avec ceci est mon contrôleur aura alors le code comme ceci:
unless params[:firstname].nil?
end
unless params[:lastname].nil?
end
// FINALLY
@person = People.new(params[:firstname], params[:lastname], params[:age], params[:from])
etc ..
Quelle est la meilleure façon de simplifier cela? Mon modèle de personne a toutes les validations dont il a besoin. Est-il possible (en supposant que la demande comporte des paramètres multi-modèle) que je peux faire:
@person = People.new (params [: personne])
puis l'initialiseur peut prendre soin de la du repos?