2013-04-08 25 views
4

我有一個多態的Review模型。名稱空間模型User::Library::Publication是可審覈的。審查正確創建,但是當我試圖通過部分顯示它們時,Rails查找錯誤的目錄。Rails正在尋找錯誤目錄中的部分內容

筆者認爲:

<%= render @review %> 

我得到這個錯誤:

Missing partial user/library/reviews/review with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder]} 

滑軌顯然是在尋找審查命名的目錄views/user/library而不是/views/reviews內的部分。任何想法爲什麼發生這種情況?

+1

就這樣我們理解你的問題,你期望它看起來在哪裏? – 2013-04-08 17:33:11

+0

在'/ views/reviews/_review.html.erb'中。 – nullnullnull 2013-04-08 17:35:22

+0

您的控制器是否也有命名空間? – 2013-04-08 17:36:47

回答

0

如果您使用名稱空間,您必須創建文件夾/子文件夾,這樣Rails纔不會看錯地方。

如果要強制部分路徑只需使用:

render :partial => "review" 

,創造如果你想刪除的部分模板路徑命名空間命名review.html.erb文件_review.html.erb

+0

簡單地渲染':partial =>「review」'似乎沒有什麼用。當我超級特定時,我只有成功:'render:partial =>「/ reviews/review」,:locals => {:review => @review}' – nullnullnull 2013-04-08 17:54:27

+0

沒有那麼多的信息我只能給一個方向,但如果你估計我的答案不正確... – ZedTuX 2013-04-08 21:36:44

3

,您可以設置prefix_partial_path_with_controller_namespace變量在config/application.rb

# config/application.rb 
config.action_view.prefix_partial_path_with_controller_namespace = false 

這將加載部分你定義它們的路徑(沒有命名空間)。

您可以see the original Pull Request here

相關問題