Ruby on rails Spree自定义菜单

Ruby on rails Spree自定义菜单,ruby-on-rails,ruby,ruby-on-rails-3,spree,Ruby On Rails,Ruby,Ruby On Rails 3,Spree,我需要定制Spree(v1.1.1)菜单,因为实际上它只有“主页”链接 我尝试创建一个覆盖作为 Deface::Override.new(:virtual_path => "spree/shared/_main_nav_bar", :name => "home-link", :remove => "#home-link") 在这里,我只是想删除“家”,看看它是否有效。 我还尝试创建一个视图/app/views

我需要定制Spree(v1.1.1)菜单,因为实际上它只有“主页”链接

我尝试创建一个覆盖作为

Deface::Override.new(:virtual_path => "spree/shared/_main_nav_bar",
                 :name => "home-link",
                 :remove => "#home-link")
在这里,我只是想删除“家”,看看它是否有效。 我还尝试创建一个视图
/app/views/spree/shared/_main\u nav\u bar.html.erb
,但什么都没有,我无法让它工作

我该怎么办?
那么,为什么有时候它可以覆盖模板,而有时候我确实需要覆盖来改变基本布局呢?我读过指南,但找不到任何解释。它不应该只适用于我的覆盖/自定义视图吗?

您正在匹配一个不存在的文件。您要查找的文件位于

因此,您希望您的代码如下所示:

Deface::Override.new(:virtual_path => "spree/shared/_store_menu",
             :name => "home-link",
             :remove => "#home-link")
当您查看github上的spree视图时,请确保您正在查看所使用版本的分支。“\u main\u bar\u nav.html.erb”在1.1.stable分支上不存在,但在master上存在


至于什么时候使用哪一种,这取决于你想改变多少。如果你在做一些小的调整,我会使用deface。如果您正在大修整个视图系统(通常建议在大型构建中使用),那么您需要替换视图。

我刚刚遇到了与您类似的问题。因此,我创建了gem来管理spree中的菜单栏:

我想这可能对你有帮助:-)