Идентификатор записи с огурцом и рассолом [Rails
-
20-09-2019 - |
Вопрос
Я использую огурец, Webrat и Pickle в сочетании. Когда я пишу сценарий, я могу сделать что -то вроде этого:
Given a product exists with title: "Bread"
When I go to the edit page for that product
And I fill in "Title" with "Milk"
And I press "Save changes"
Then I should see "Successfully edited product."
And I should be on that car's page
Обратите внимание на for that product
. Анкет Это то, что Pickle обеспечивает, что очень удобно для ссылки на запись для продукта, который я проверяю существование. Эта последняя строка, однако, не работает.
По сути, я пытаюсь убедиться, что я являюсь шоу -страницей для этой записи, но, поскольку у меня нет идентификатора для нее, я не знаю, как ее ссылаться.
Любая помощь? Спасибо!
Решение
Чтобы иметь ссылку на созданный продукт или что -либо еще, вы можете использовать именование, которое предоставлено Pickle:
Given product: "bread" exists with title: "Bread"
...
Then I should be on the showing page for the product "bread"
Чтобы обработать этот URL, вам нужно будет добавить пару линий в /факции/support/paths.rb:
when %r{^the showing page for the (.+)$}
polymorphic_path(model($1))
Также может быть полезно обработать путь редактирования для модели, как это:
Then I should be on the edit page for the product "bread"
paths.rb:
when %r{^the edit page for the (.+)$}
polymorphic_path(model($1), :action => 'edit')