我坚持使用Spree建立一个新的电子商务网站。我已尝试覆盖管理员视图,但我不知道如何建立管理员帐户,因此无法登录。
我也想尝试编辑宝石本身。我试过"捆绑开放的spree_frontend"在我的终端上并回来了#34;要打开捆绑的宝石,请设置$ EDITOR或$ BUNDLER_EDITOR"我编辑了.bash_profile,以便"导出EDITOR =" subl -w" export BUNDLER_EDITOR =" subl" "但我仍然得到同样的回应。
我一直试图阅读文档,但我被困了。任何人都可以给我任何建议或帮助吗?
编辑:我想出了如何让自己成为管理员,但我仍然无法弄清楚如何完全自定义index.html.erb或其他视图。
答案 0 :(得分:2)
我不太确定您是否需要知道如何更改管理员根索引页,或者是否要自定义任何视图。所以,这里有两个答案。
有关如何自定义任何视图的说明:
要记住的是,Spree只是一个rails引擎。 All rails engine views can be overwritten by adding a view in the same location on the main rails application.狂欢的令人困惑的部分是项目的结构。
如果查看Spree project on github,您会看到它分为四个部分:核心,前端,后端和api 。每个部件都像一个小型轨道引擎本身。因此,后端部分使用app / views / spree / admin文件夹来显示所有管理员视图。
秘诀是复制要自定义的视图,将其放在应用程序中的正确位置,然后进行更新。
因此,如果您尝试自定义管理产品索引页面go to github并将代码复制到backend/spree/app/views/admin/products/index.html.erb并将其粘贴到app / views / spree / admin / products / index中的项目中.html.erb
我有一些更详细的说明over on quora,特别是有关版本2.3前端更新的内容,如果您认为某些图片可能会有所帮助。
如何自定义管理员根索引视图:
2.4或更高版本
如果您尝试更改管理员索引的根路径,则需要为管理员根控制器创建控制器装饰器,并覆盖索引操作,然后在app / views / spree / admin /上构建视图root / index.html.erb使它看起来像你想要的那样。
应用/控制器/礼包/管理/ root_controller_decorator.rb 强>
module Spree
module Admin
RootController.class_eval do
def index
# add any custom controller code here you need
# it will load the view at app/views/spree/admin/root/index.html.erb
# by convention
end
end
end
end
2.3或更低版本
早期版本的狂欢只依赖于routes file to redirect orders#index。只需在路径文件中添加一个新条目,指向要引导流量的位置,然后构建控制器#动作并查看以提供内容。
坦率地说,你可以为版本2.4及更高版本做同样的事情,但是较新的版本将认证结合到根控制器中,所以不需要重新发明轮子。
答案 1 :(得分:0)
关于尝试制作管理员
user = User.find_by(email: "master@example.com")
user.spree_roles << Spree::Role.find_or_create_by(name: "admin")
http://guides.spreecommerce.org/developer/authentication.html#the-user-model-1