2015-11-06 291 views
2

任何人都可以幫我解決以下問題嗎? 我有一個名爲_menu.html.erb的局部視圖,裏面的共享文件夾在視圖文件夾中。我正嘗試在我的頁面內部呈現此視圖,例如Ruby on Rails partials

<%= render "shared/menu" %> 

但是我收到以下錯誤。

Missing partial shared/_menu with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]} 

我在做什麼錯?

謝謝!

+1

是您的部分位於'應用程序/視圖/共享/ _menu.html.erb'? //沒關係,愚蠢的我。你已經在你的問題中給出了這個答案。 –

+3

嘗試用這個<%= render:partial =>「/ shared/menu」%>替換你的行。%> –

+0

謝謝mokariya2多數民衆贊成在工作。但爲什麼?渲染部分渲染和渲染之間有什麼區別嗎? –

回答

2

把你menu.html.erb

這裏

app/views/shared/_menu.html.erb 

,然後用這條線

<%= render :partial => "/shared/menu" %> 
0

如果你只使用 「渲染」 帶參數呈現此,它的excpecting一個ActiveRecord對象,並將尋找這個對象的「顯示」部分,如下所示:

<%= render @user %> #this will render the "user/show" partial for @user 

可以渲染一個經典部分像這樣(沒有locals如果你不需要任何參數):

<%= render partial: "shared/menu", locals: {my_arg: my_val} %>