Je veux que mes utilisateurs de faireRspec + Rails: POST-paramètre d'URL au contrôleur
POST /controllername/v1
{
"p2":"v2",
"p3":"v3"
}
et organiser que le POST atteint le contrôleur "nomducontroleur" comme
params={ :p2 => "v2", :p3 => "v3" }
p1=v1
Ou, en fait, je peut travailler avec n'importe quel autre aspect au contrôleur; le fait est que ce dernier mot dans l'URL ("v1") doit être mis à la disposition du contrôleur pour une utilisation plutôt similaire à p2/v2 et p3/v3.
Et, j'ai besoin de tester cela avec Rpec. Plus précisément:
rspec 2.6.4
rails 3.0.9
ruby 1.9.2
J'utilise une route
match '/controllername/:p1' => 'controllername#create'
Et cette règle rspec fonctionne:
it 'should route to :create' do
assert_routing({ :path => '/controllername/foofoo',
:method => :post },
{ :controller => "controllername",
:action => 'create',
:p1 => 'foofoo' })
end
Mais je ne peux pas comprendre comment y publier un message (à partir de la spécification du contrôleur). Aucun de ces travaux:
post :create, parameters
post :create, parameters, 'foofoo'
post :create, parameters, :p1 => 'foofoo'
post :create, :p1 => 'foofoo', parameters
Quel est l'appel du contrôleur par votre test sur le journal de test? – shingara