加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – RSpec视图测试找不到基本命名空间中的部分

发布时间:2020-12-17 03:23:21 所属栏目:百科 来源:网络整理
导读:编辑: 我发现如果我在渲染之前插入view.lookup_context.prefixes =%w [base],测试就会知道正确的路径.这是解决这个问题的最佳/正确方法吗? 我将所有部分放在一个基本文件夹中,并且所有可以访问这些部分的控制器都继承自base_controller这一切都很好,但生
编辑:

我发现如果我在渲染之前插入view.lookup_context.prefixes =%w [base],测试就会知道正确的路径.这是解决这个问题的最佳/正确方法吗?

我将所有部分放在一个基本文件夹中,并且所有可以访问这些部分的控制器都继承自base_controller这一切都很好,但生成的视图测试找不到基本文件夹中的部分.

这是错误:

Failure/Error: render
     ActionView::Template::Error:
       Missing partial /admin_menu,circuits/admin_menu with {:locale=>[:en],:formats=>[:html,:text,:js,:css,:ics,:csv,:png,:jpeg,:gif,:bmp,:tiff,:mpeg,:xml,:rss,:atom,:yaml,:multipart_form,:url_encoded_form,:json,:pdf,:zip],:handlers=>[:erb,:builder,:coffee,:jbuilder]}. Searched in:
         * "/Users/Mac/Folder/ProjectName/app/views"

如何告诉我的视图测试在哪里查找部分?

为了完整性,这是规格:

require 'spec_helper'

describe "circuits/index" do
  before(:each) do
    assign(:circuits,[
      stub_model(Circuit,:name => "Name",:description => "MyText"
      ),stub_model(Circuit,:description => "MyText"
      )
    ])
  end

  it "renders a list of circuits" do
    view.lookup_context.prefixes = %w[base application]
    render
    assert_select "tr>td",:text => "Name".to_s,:count => 2
    assert_select "tr>td",:text => "MyText".to_s,:count => 2
  end
end

解决方法

你应该用

<%= render 'base/admin_menu' %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读