gpt4 book ai didi

ruby-on-rails - 测试期间的 ActionView::MissingTemplate

转载 作者:行者123 更新时间:2023-11-28 20:57:51 25 4
gpt4 key购买 nike

我正在测试 Rails Controller 并尝试使用代码执行获取:

delete :remove_logs, :id => 3

它始终返回一个 ActionView::MissingTemplate 异常。我知道这是因为没有与 get 关联的 View 。此方法有一条路线(来自 rake 路线):

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

所以我的问题是,有没有办法绕过或欺骗测试,使其不尝试访问 View 而只访问 Controller 方法?这不是我正在测试的系统,所以我真的不想制作新的空白 View 或类似的东西。

最佳答案

我认为问题可能与 Controller 中的代码(remove_logs 操作)有关,它通常有一些关于重定向到另一个 url 的代码,如下所示:

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

我在我的 Rails 应用程序中使用 Test::Unit 进行测试,并且在使用重定向代码时一切正常。

关于ruby-on-rails - 测试期间的 ActionView::MissingTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com