2011-08-17 69 views
1

我测试Rails控制器,并试图执行的代码,在获取:::的ActionView测试MissingTemplate

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 %> 

所以我的问题是,有没有绕过或欺骗测试不尝试访问视图并只访问控制器方法的方法?这不是我正在测试的系统,所以我真的不想创建一个新的空白视图或类似的东西。

回答

0

我认为这个问题可以用控制器(remove_logs动作)的代码有关,其通常具有约重定向到另一个网址像波纹管一些代码:

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

我在轨测试与::单元测试应用程序,当重定向代码时它会很好。

相关问题