为什么我的控制器测试找不到JS模板?

时间:2011-05-08 08:09:20

标签: ruby-on-rails

在我的Rails应用程序中,我有一个简单的控制器,它也有一个JS视图的动作。在开发模式期间,我可以访问该视图,但不能在测试期间访问。在测试期间,我收到“缺少模板”错误。

我无法弄清楚为什么会这样。我发布相关部分,也许有人可以 帮助我。

的routes.rb

resource :store, :controller => 'store' do    
  member do
    post :add_item
  end
end

store_controller_test

post :add_item, { :product_id => product.id }

异常消息

  

ActionView :: MissingTemplate:缺少模板商店/ add_item

其他信息:

  • 模板文件名为add_item.js.erb
  • 来自同一控制器的其他视图在测试和开发中都有效。

1 个答案:

答案 0 :(得分:1)

找不到模板的原因是因为您没有在测试中创建javascript post请求,而是创建HTML post请求。要创建javascript post请求,我会更改post调用以指定格式。

post :add_item, { :product_id => product.id, :format => 'js' }