ruby-on-rails – 主题为Spree安装;造成污损的噩梦

首先在Programmers.SE上输入,但想象一下这可能更适合这里 – 纯粹是因为它不是要求就特定技术问题提出建议.随意投票移动!

我目前正在使用Ruby on Rails的“Spree”电子商务平台开展一个项目.配置和使用是一件非常愉快的事情.但欢乐在那里停止了.

我正在尝试开发一个完全自定义的界面 – 与认配置完全不相似的界面.现在Spree文档显示我只有两个选项:

>使用deface覆盖.到处.似乎要覆盖其他覆盖.
>完全重建视图.

当然,使用污点的风格如此戏剧性的变化是一个完整的噩梦; Deface看起来不像是一种可以接受的方式来重写一个完整的UI;它似乎也没有效率.所以我选择完全重建视图.

然后实现了大约8个插件全部依赖于污损覆盖,视图文件硬编码并且目标选择器通常是“flakey”(充其量).

除了狂欢网站上非常小的documentation,我所能找到的只是来自各种会议的幻灯片,其中 – 没有谈话的背景实际上是最小的使用.他们似乎都专注于使用污损覆盖来进行大致简单化的更改,而最近的更改似乎已经超过一年了.

我错过了什么吗?有谁知道执行这样的事情的最佳做法?我应该在哪里看?

解决方法

我遇到了同样的问题,正如你所说,当有很多插件使用deface时,最好使用deface而不是覆盖整个视图.
花了一些时间才知道狂欢的圣地和除了文档之外的指南是狂欢的 github sourcecode.此处提供了文档中缺少的任何内容.

如果要覆盖视图,有两种方法

1)您想要使用新视图完全覆盖它.在这种情况下,我建议不要更改现有源代码中使用的现有结构并添加新的更改.这样你仍然可以使数据钩子可用于其他插件,具体取决于你的视图的HTML代码结构和标签.

2)使用Deface.如果没有足够的文档,那么开始使用Deface有点噩梦.开始使用Deface的最佳方法github.
在Deface替换之后测试新视图代码的最重要的实用程序是使用rake任务.
要查看使用标记选择的元素,请使用:
rake deface:test_selector [‘spree / address / _form’,’p’] – 这表示在相应的视图partial中使用p的所有元素.
要查看原始的部分用途:

rake deface:get_result[shared/_head]

这些在deface的github中提到,但这些非常方便,因此强调.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...