nul*_*ull 5 namespaces ruby-on-rails partials
我有一个多态Review模型。命名空间模型User::Library::Publication是可审查的。评论创建正确,但是当我尝试通过局部显示它们时,Rails查找错误的目录。
在我看来:
<%= render @review %>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Missing partial user/library/reviews/review with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder]}
Run Code Online (Sandbox Code Playgroud)
Rails显然是在名称空间的目录中views/user/library而不是/views/reviews。中寻找审阅部分。知道为什么会这样吗?
如果要从部分模板路径中删除命名空间,则可以在中设置prefix_partial_path_with_controller_namespace变量config/application.rb:
# config/application.rb
config.action_view.prefix_partial_path_with_controller_namespace = false
Run Code Online (Sandbox Code Playgroud)
这将在您定义局部路径时加载(不包含名称空间)。
您可以在此处看到原始的“拉取请求”。
如果您使用名称空间,则必须创建文件夹/子文件夹,这样 Rails 就不会查找错误的位置。
如果你想强制部分路径,只需使用:
render :partial => "review"
Run Code Online (Sandbox Code Playgroud)
并创建将review.html.erb文件重命名为_review.html.erb
| 归档时间: |
|
| 查看次数: |
1331 次 |
| 最近记录: |