2010-12-16 17 views
0

Ich bin eine einfache Anwendung in Schienen zu tun, ohne Gurke mitGurke seltsam Routen Problem

ich diese User Story haben:

Scenario: add new expense 
    Given I am on the expenses page 
    When I follow "new expense" 
    Then I am on new expense page 
    Then I fill in "expense_title" with "french fries" 
    Then I fill in "expense_category" with "Lunch" 
    Then I fill in "expense_amount" with "2300" 
    And I press "expense_submit" 
    And I should be on the "french fries" expense page 
    Then I should see "The expense was successfully created" 

Im Entwicklungsmodus folgte ich die gleichen Schritte, und ich bekam die erwarteten Ergebnisse , aber dies mit Gurke laufen bekomme ich diese Fehlermeldung

(::) failed steps (::) 

expected: "/expenses/2", 
    got: "/expenses" (using ==) (RSpec::Expectations::ExpectationNotMetError) 
./features/step_definitions/web_steps.rb:260:in `/^(?:|I)should be on (.+)$/' 
features/expenses.feature:14:in `And I should be on the "french fries" expense page' 

ich schon den richtigen Pfad in der path.rb gesetzt

when /the "(.+)" expense page/ 
     "/expenses/#{Expense.find_by_title($1).id}" 

deshalb ist der erwartete Pfad entsprechend dem Ergebnis des vorherigen Codes, es ist richtig, aber das Ergebnis nicht.

Als ich fügte die „Dann zeig mir die Seite“ nach dem Button Absenden ich eine einfache Seite mit dieser Meldung:

You are being redirected. 

Aber wie ich vorher gesagt nicht im Entwicklungsmodus geschehen und auch Ich habe überprüft, dass der Datensatz erfolgreich in der Datenbank gespeichert ist, also weiß ich nicht, wo das Problem sein könnte, kann mir bitte jemand helfen?

Grüße

PS: Meine Methode

respond_to erstellen: html

def create 
    @expense = Expense.new(params[:expense]) 

    if @expense.save 
     flash[:notice] = "The expense was successfully created" 
    end 

    respond_with @expense 
    end 

Antwort

1

Das Problem ein webrat Kompatibilitätsproblem war mit Schienen 3,

Es ist das gleiche Problem von this war, und es ist die Lösung, eine einfache Patch auf den webrat gem

+0

arbeitete für mich auch –

0

Es ist wie Ihr paths.rb mir sieht richtig konfiguriert ist, aber es ist Ihre create Aktion, anstatt zurück zu expenses_path ist Umleitung .

+0

nein, es ist nicht, funktioniert alles einwandfrei im Entwicklungsmodus, wie es sein soll, aber nicht mit Gurke, das ist mein Problem – forellana

+0

@forellana: ist die Ausgaben, die Sie in der Gurke-Funktion w gültige ein? –

+0

ja es ist, es war ein webrat routing problem, ich reparierte es mit meiner antwort auf diese frage, danke – forellana