ActionView :: MissingTemplate во время тестирования - PullRequest
1 голос
/ 17 августа 2011

Я тестирую контроллер rails и пытаюсь выполнить get с кодом:

delete :remove_logs, :id => 3

И он последовательно возвращает мне исключение ActionView :: MissingTemplate. Я знаю, что это потому, что нет никакого представления, связанного с get. Для этого метода есть маршрут (из граблей):

remove_logs        /devices/remove_logs/:id(.:format)            {:controller=>"devices", :action=>"remove_logs"}

Сама функция отлично работает для реальной веб-страницы, так как она вызывается с помощью:

<%= link_to "Remove History", remove_logs_path(device), 
:class => "medium red button",  :confirm => 'This will remove all history from 
this device. Are you sure?', :method => :delete %>

Итак, мой вопрос: есть ли способ обойти или обмануть тест, чтобы не пытаться получить доступ к представлению и просто получить доступ к методу контроллера? Это не моя система, которую я тестирую, поэтому я действительно не хочу создавать новое пустое представление или что-то подобное.

1 Ответ

0 голосов
/ 18 августа 2011

Я думаю, что проблема может быть связана с кодом в контроллере (действие remove_logs), который обычно содержит некоторый код о перенаправлении на другой URL-адрес, как показано ниже:

def destroy
  @tag = Tag.find(params[:id])
  @tag.destroy
  redirect_to :action => :index
end

Я тестирую с Test :: Unit в моемПриложение rails, и оно отлично работает, если вы перенаправляете код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...