【问题标题】:How to use partials in Comfortable Mexican Sofa?如何在舒适的墨西哥沙发中使用局部?
【发布时间】:2013-10-18 16:37:27
【问题描述】:

我想制作一个带有已发布页面标题的导航菜单。在user manual 中,我可以看到我应该在布局中使用的格式:

{{ cms:partial:path/to/partial }}

所以我创建了一个名为 _navmenu.html.haml 的部分并将其放在 app/views/ 目录中。我想我应该像这样引用这个部分:

 {{ cms:partial:app/views/navmenu}}

但我只看到 ActionController 的错误信息:

Missing partial app/views/navbar with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in:
* "/Users/qumara/mexicansofa/app/views"  

它似乎在app/views 目录中搜索。我想在 Comfy 中的部分是由 Rails 约定(带有下划线前缀)引用的。

堆栈:Ruby on Rails 3.2.14,comfort-mexican-sofa 1.8.4。

我应该如何(从布局)参考 Comfortable Mexican Sofa 中的部分内容?

感谢任何帮助。

【问题讨论】:

    标签: ruby-on-rails content-management-system comfortable-mexican-sofa


    【解决方案1】:

    它知道它已经在 app/views 中,所以只需 {{ cms:partial:navmenu }} 应该可以工作

    如果您将它放在app/viewsapp/views/admin/navmenu 内的文件夹中,例如,它将是 {{ cms:partial:admin/navmenu }}

    编辑:对于尚未阅读 cmets 的人,答案是将您尝试渲染的文件放在 views 内的文件夹中,然后它就可以工作了。

    【讨论】:

    • 感谢您的回答。命名约定是否与 Rails 中的相同:_navmenu.html.haml(带下划线)?
    • 是的,完全一样,comfy 字面意思是调用 :foo %>
    • 真的很奇怪:我做了我们讨论的事情并且错误消息改变了:Missing partial cms_content/navbar, application/navbar with ....。现在搜索在 cms_contentapplication ?如果我不知道名称为 application... 的目录
    • 呵呵navbar vs navmenu ?
    • 我实际上使用了一个舒适的 fork,并添加了一些(相当不错的)功能,请查看:github.com/homeserve-alliance/comfortable-mexican-sofa
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多