【问题标题】:Why can't my controller test find a JS template?为什么我的控制器测试找不到 JS 模板?
【发布时间】:2011-05-08 08:09:20
【问题描述】:

在我的 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
  • 来自同一控制器的其他视图可用于测试和开发。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多