Я делаю простое приложение в рельсах без использования огурцаОгурцов странных маршруты проблема
У меня есть этот пользовательский рассказ:
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"
В режиме разработки я следовал за одни и те же шаги, и я получил ожидаемые результаты , но работает это с огурцом я получаю сообщение об ошибке
(::) 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'
Я уже установить правильный путь в path.rb
when /the "(.+)" expense page/
"/expenses/#{Expense.find_by_title($1).id}"
из-за этого ожидаемый путь, соответствующий результату предыдущего кода, это правильно, но полученного результата нет.
Когда я добавил «Тогда покажите мне страницу» после подачи кнопки я получаю простую страницу с этим сообщением:
You are being redirected.
Но, как я уже говорил, это не произойдет в режиме разработки, а также Я проверил, что запись успешно сохраняется в базе данных, поэтому я не знаю, где может быть проблема. Может ли кто-нибудь мне помочь?
Привет
PS: Мой метод создания
respond_to: HTML
def create
@expense = Expense.new(params[:expense])
if @expense.save
flash[:notice] = "The expense was successfully created"
end
respond_with @expense
end
нет это не так, все работает отлично в режиме разработки, поскольку он, судя по всему, был, но не с огурцом, это моя проблема. – forellana 2010-12-16 01:33:50
@forellana: это расход, который вы используете в функции Cucumber? – 2010-12-16 08:10:05