2010-12-16 3 views
0

나는 오이오이 이상한 경로 문제

나는이 사용자 스토리를

를 사용하지 않고 레일에서 간단한 응용 프로그램을하고 있어요는 :

개발 모드에서
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" 

나는 같은 단계를 따라 내가 예상되는 결과를 얻었다 하지만 오이이 실행 나는 이미 path.rb에 올바른 경로를 설정

(::) 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' 

이 오류 메시지가

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

이전 코드의 결과에 해당하는 예상 경로이므로 올바른 결과를 얻지 못합니다.

내가 추가 할 때 나는이 메시지와 함께 간단한 페이지를 얻을 버튼을 제출 한 후 "그럼 나에게 페이지 표시"

You are being redirected. 

하지만이 전에 말했듯이 또한 개발 모드에서 발생하지 않습니다 레코드가 데이터베이스에 성공적으로 저장되었는지 확인 했으므로 어디에 문제가 될지 모릅니다. 누구든지 저를 도울 수 있습니까?

인사말

PS : 방법을 만들의 나

respond_to : html로 그것은 당신의 paths.rb처럼 나에게 보이는

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

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

    respond_with @expense 
    end 

답변

1

문제는

그것은 this의 동일한 문제이고, 레일 3와 webrat 호환성 문제, 그리고 해결책의 webrat 보석

+0

도 저에게 효과적이었습니다. –

0

가 올바르게 구성되어 있지만 대신 expenses_path로 다시 리디렉션있어 당신의 create 행동입니다 .

+0

전혀 그렇지 않은가에 대한 간단한 패치가, 모든 작동합니다 개발 모드에서, 오이가 아니 었으므로 양심에 따라 달라질 수 있습니다. – forellana

+0

@forellana : 오이 기능에서 사용중인 비용은 유효합니까? –

+0

예, 그것은 webrat 라우팅 문제였습니다, 나는이 질문에 대한 나의 대답으로 고쳐주었습니다. 덕분에 – forellana