Сценарий
У меня есть контроллер только с двумя действиями - :create
и :delete
. Где действие создания определяется следующим образом:
def create
# some code...
if @thing.save
redirect_to :back, :notice => "Successfully created."
else
redirect_to :back, :notice => "Successfully deleted."
end
end
Я ссылаюсь на действие, используя ...
<%= link_to "Become a friend", things_path(...), :method => :post %>
... в представлении.
Задача
Это прекрасно работает, когда я взаимодействую с приложением в своем браузере. Однако я хочу протестировать эту функциональность, используя интеграционное тестирование RSpec, используя вспомогательный метод Webrat - click_link "Become a friend"
- который я считаю правильным. Но я получаю эту ошибку
Failure/Error: click_link "I like Person-1's taste"
AbstractController::ActionNotFound:
The action 'index' could not be found for ThingsController
Я могу создать пустое действие index в контроллере Things, но это нарушит Принцип KISS .
Вопросы * * 1023
Как я могу обойти / исправить это? И есть ли лучшие практики для подобных случаев?