Ich habe das Gefühl, ich mache nur etwas syntaktisch falsch, aber es ist überraschend schwierig, Google "GET", so dass ich hoffte, jemand hier könnte die Antwort darauf wissen.Testen GET in einem Schienen-Controller
Ich versuche, einen Rails-Controller aus einem RSpec-Test zu testen. Ich folge einem Beispiel, das ich hier gefunden habe - http://www.elevatedrails.com/articles/2007/09/10/testing-controllers-with-rspec/, aber ich bin auf der tatsächlichen Ausführung der Methode stecken, die ich gerade teste.
Ich mache eine GET-Anfrage, wo der Post oben einen POST macht. Ich übergebe 2 Parameter Hersteller und Modell.
Meine URL wird idealerweise in etwa so aussieht http://mysite.com/Products/index/Manufacturer/ModelName
Ich kann nicht die Syntax für den Erhaltungs-Anforderungs-Aufruf in dem Rest herauszufinden. Im Moment habe ich
get :index, :manufacturer=>@manufacturer, :modelName=>@modelName
und ich zurück
Argument in 'Product Finden Sie ein gültiges Produkt sollte das Produkt abrufen' falsche Anzahl von Argumenten (0 für 2)
Irgendwelche Gedanken?
edit: Es sollte @manufacturer und @modelName sind definiert in vor zu beachten, (: each)
Die Syntax ist in Ordnung. Etwas anderes ist wackelig. Posten Sie mehr Details! Poste ein paar Zeilen deines Fehler-Backtrace, poste deine gesamte fehlerhafte Spezifikation, poste den relevanten Teil deines Controllers und poste die relevanten Routen. :) –
Auch als eine Notiz, es sieht aus wie Sie ein paar Rails Konventionen nicht gehorchen, die Ihr Leben härter als einfacher machen könnte. modelName sollte model_name sein und ProductController sollte wahrscheinlich ProductsController plural sein. –
Auch sollten Sie wahrscheinlich die Großbuchstaben in der URL verlieren, auch warum würden Sie eine Liste der Hersteller eines Index für Produkte verschachteln. Sicherlich würde das besser funktionieren/Produkte/Hersteller, und da dies viele sein würden, haben Sie auch ausgeschlossen/Hersteller/Produkte? Aber wie bereits erwähnt, wird Code benötigt, um auf das Ende Ihres Problems zu kommen. – nitecoder