【问题标题】:Change spree application layout file to load更改要加载的 spree 应用程序布局文件
【发布时间】:2014-02-17 22:55:43
【问题描述】:

是否可以在我的主要 Rails 应用程序中使用我自己的应用程序布局文件而不是 spree?我已经用设计设置了我的主应用程序,然后添加了狂欢。大礼包前端使用

frontend/app/views/spree/layouts/spree_application.html.erb

在其自己的 gem 中作为其布局,我在 app/overrides 或 Deface 中阅读了如何用我自己的文件覆盖该文件,但我不想复制我的 app/views/layouts/application.html.erb 中已经存在的内容。

我希望改用我自己的文件或覆盖 spree's。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 spree


    【解决方案1】:

    你有两个选择:

    1. 在您的 rails 应用程序中创建 app/view/spree/layouts/spree_application.html.erb,rails 会选择您的文件
    2. 在初始化程序中使用 Spree::Config[:layout] 设置您自己的布局(例如:Spree::Config[:layout]='application'

    【讨论】:

    • Spree::Config[:layout]='application' 这完全符合我的需要。如果我需要进行其他更改,这是否记录在任何地方?
    • 由于某些原因,更改 Spree::Config[:layout] 对我不起作用。但是覆盖 spree_application.html.erb 确实如此。谢谢!
    • 第二个解决方案Spree::Config[:layout]也适用于我,但我必须使用'layouts/application',而不仅仅是'application'
    • Spree::Config[:layout]='application' 为我工作,但现在我无法切换回 spree_application 布局。删除该行没有帮助。如果我想切换到任何布局,那么我必须提到它。
    • 你在哪个文件中添加的?
    【解决方案2】:

    Spree::Config[:layout]='application' 为我工作。但是当我尝试通过删除此行来切换到 spree 默认布局时,它不起作用。花了将近一个小时后,我能够切换回默认 Spree::Config[:layout]='spree/layouts/spree_application' 添加此答案以防其他人遇到类似错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多