Я делаю простое приложение в рельсах, не используя огурец
У меня есть такая история пользователя:
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: мой метод создания
response_to: html
def create
@expense = Expense.new(params[:expense])
if @expense.save
flash[:notice] = "The expense was successfully created"
end
respond_with @expense
end