2013-04-08 56 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

相关问题