我有下面的代碼在app/views/foo/index.rhtml
:爲什麼嵌套佈局中的共享局部視圖不能在Rails功能測試中工作?
<% render :layout => 'bar_group', :locals => {:id => 'gold_bars'} do %>
<%= render :partial => "bar_score_box", :locals => {:scores => scores} %>
<%= render :partial => "common/translate_bar_link", :locals => {:bar => bar} %>
<% end %>
_bar_group.rhtml
和_bar_score_box.rhtml
都還app/views/foo/
,但_translate_bar_link.rhtml
爲app/views/common/
。
在開發模式下運行我的Rails應用程序並使用Web瀏覽器打開它時,此視圖工作得很好。但是,當我運行一個功能測試命中的觀點,我得到這樣的錯誤:
Exception: Missing template _translate_bar_link.erb in view path
app/views/foo/_bar_group.rhtml:2
app/views/foo/_bar_group.rhtml
看起來是這樣的:
<div id="<%= id %>" class="tile">
<%= yield %>
</div>
所以被在yield
行報告的錯誤。
同樣,這可以通過Rails服務器正常工作,但不能在運行功能測試時使用。有誰知道這裏會發生什麼?
更新:事實證明,我有第二個渲染呼籲在我看來,我忘了改到common/translate_bar_link
後,同樣的部分,當我提出的部分從app/views/foo
到app/views/common
:
<%= render :partial => "translate_bar_link", :locals => {:bar => bar} %>
操作員錯誤。對不起,浪費你的時間。標記此問題以進行刪除。
事實證明,這是運營商的錯誤,因爲我已經編輯我的問題注意。我還會要求刪除它,因爲它對社區毫無用處。 : - / – 2011-06-09 13:56:41