在安装Bootstrap gem之后如何覆盖/更改Ruby on Rails狂欢应用程序的布局?
我有一个Spree Commerce应用程序,通过添加spree_bootstrap gem安装
gem 'spree_bootstrap', github: 'jdutil/spree_bootstrap'
到Gemfile。
现在在主页面上我将所有熟悉的bootstrap div作为
和
。
我是Rails的新手,我想通过添加自己的自定义导航栏和其他调整来更改布局母版页。 不幸的是,application.html.rb实际上是一个空白的页面,我不认为这是一个进行更改的页面。
我的问题是:如何覆盖或更改标准div值? 我本地没有这些文件。 我听说过使用Deface作为工具,但我不知道如何使用它。
我希望这里有人可以提供更多关于更改标准Bootstrap Spree应用程序的见解。
创建文件app/views/spree/layouts/spree_application.html.erb
。 复制并粘贴此内容,然后根据需要进行编辑:)
重复您可能想要重新设置的任何其他Spree视图和部分视图。 如果您想知道需要创建的路径以及某个视图或部分视图的内容,请查看其GitHub存储库的app/views/spree
文件夹。
您可能需要在看到任何更改之前重新启动服务器。
首先,我认为这个问题在其他几个SO问题中是重复的。 我昨天确实处理了这个,所以我想我会给出答案。
您应该查看deface gem(Spree使用什么来允许您覆盖视图)。 这是一个关于如何替换
的内容的示例,假设该文件是app/views/spree/shared/_nav_bar.html.erb
。 请注意,您必须找到实际使用的选择器所在的文件:
# app/overrides/my_override.rb Deface::Override.new(virtual_path: "spree/shared/nav_bar", name: "my_navbar", replace: "ul#main-nav-bar") do <<-HTML HTML end
如果您需要更多帮助,可能需要查看他们的文档 。 绝对不是一个好主意是复制并粘贴gem的内容以覆盖。