Ruby on rails 在Rails的视图等级库中存根公共部分

Ruby on rails 在Rails的视图等级库中存根公共部分,ruby-on-rails,ruby,rspec,partials,Ruby On Rails,Ruby,Rspec,Partials,我在app/views/debtors/index.html.erb上有一个视图,它呈现了一个位于app/views/application/\u advanced\u search.html.erb的公共部分 我想测试索引视图,但还需要存根上述部分。我怎样才能做到这一点?我试过: 存根模板“\u高级搜索”=>“存根”,但未找到部分内容 stub\u template'\u advanced\u search.html.erb'=>“Stubbed”,同上 view.lookup\u cont

我在
app/views/debtors/index.html.erb
上有一个视图,它呈现了一个位于
app/views/application/\u advanced\u search.html.erb
的公共部分

我想测试
索引
视图,但还需要存根上述部分。我怎样才能做到这一点?我试过:

  • 存根模板“\u高级搜索”=>“存根”
    ,但未找到部分内容
  • stub\u template'\u advanced\u search.html.erb'=>“Stubbed”
    ,同上
  • view.lookup\u context.view\u paths.push'app/views/application'
    stub\u template'\u advanced\u search'=>'Stubbed'
    ,但随后它开始抱怨在分部代码中使用了未定义的变量
我也试着使用完整的路径到部分,但仍然没有运气,它开始说部分丢失了

什么是在Rails应用程序中删除公共部分的正确方法?

有时候Ruby会说“找不到部分”,因为部分文件中似乎有一些错误,一些Ruby错误

我建议您首先显示任何不包含Ruby代码的硬编码html,如果它可以工作,那么您的部分代码中似乎有一些错误


我之前也遇到过这个问题。

关于
stub\u模板'application/\u advanced\u search'=>'x'
?它说缺少部分。它在
/home/user/project/app/views
中查找,然后在
应用程序/\u高级搜索\u控件
应用程序/\u高级搜索
中查找。奇怪的是……您可以看到,它只是将存根推到视图路径数组的开头。也许可以试着看看视图路径数组?否则我猜是rails自动加载“magic”变得混乱了。路径包含存根模板散列,但我不知道它们的格式是否正确,或者它们是如何看待的……另外,在问题的第三个要点中,如果我存根了一个分部,为什么它会在该分部中为未定义的变量抛出错误?我很困惑。我目前使用这个部分有一段时间了,但是我没有对视图进行任何测试。现在我开始写视图,并开始讨论这个问题。所以我不认为这是一个问题的部分。