Rails渲染:找不到间歇性资源(ActionView :: TemplateError)

时间:2009-08-12 18:06:16

标签: ruby-on-rails ruby rendering cucumber

我可以使用一些帮助来弄清楚发生了什么。检查下面的日志输出 - 为什么rails会以不同方式处理这两个渲染?为什么一个成功,没有任何相关的SQL调用,第二个失败 - 具有SQL访问权限。 (它不是ActiveRecord模型,此渲染中不应包含任何SQL。)

背景

我有一个黄瓜功能,有两个场景,每个场景都依赖于Webrat来解决“当我进入文章列表时”的步骤。文章模型不是ActiveRecord模型,不应该依赖SQL进行访问。

如果我在文件中订购方案#1,#2,则第一个方案将通过所有测试,而第二个方案将在后面的不同步骤中失败,如预期的那样。

如果我在文件中订购方案#2,#1,那么#2方案在通过相关步骤后会按预期失败。但#1场景现在失败了'当我进入文章列表'步骤:

找不到资源(ActionView :: TemplateError) features / article.feature:23:在'当我进入文章列表'时

test.log内容

-------- webrat测试成功 - 非db支持模型--------------

Processing ArticlesController#index (for 127.0.0.1 at 2009-08-12 13:22:37) [GET]
  Parameters: {"action"=>"index", "controller"=>"articles"}
Rendering template within layouts/application
Rendering articles/index
Completed in 9ms (View: 6, DB: 0) | 200 OK [http://www.example.com/ccc/articles]
REQUESTING PAGE: GET /ccc/articles/new with {} and HTTP headers {"HTTP_REFERER"=>"/ccc/articles"}

-------- webrat测试失败---------------------

Processing ArticlesController#index (for 127.0.0.1 at 2009-08-12 13:22:37) [GET]
  Parameters: {"action"=>"index", "controller"=>"articles"}
Rendering template within layouts/application
Rendering articles/index


Processing ApplicationController#index (for 127.0.0.1 at 2009-08-12 13:22:37) [GET]
  Parameters: {"action"=>"index", "controller"=>"articles"}
      ^[[4;35;1mSQL (0.1ms)^[[0m   ^[[0mROLLBACK^[[0m

1 个答案:

答案 0 :(得分:0)

为了排除一些可能性:将paths.rb中文章索引页面的位置更改为“/test.html”,并将该文件放在“/ public”中 - 查看步骤是否显示相同行为。如果他们这样做,在您的一个测试设置/拆卸操作中,某些东西很可能是不稳定的。如果他们不这样做,我会仔细研究行动本身的逻辑和模板的内容,以了解可能发生的事情。