![]() |
1
2
我是 Active Model Serializer gem现在是Rails的一部分。我会尝试将此模式扩展到coffeescript中,向所有类添加一个序列化方法,并在向服务器传递数据时调用这些方法。
我不确定你的计划
假设您的purchase类将有
然后,您的ajax帖子将使用
那么您应该得到
可通过强参数在rails控制器中使用:
|
![]() |
2
2
您只需将事件绑定到
工作代码段:
我已经注释掉了
|
![]() |
3
1
我已经根据代码注释中的问题更新了您的coffeescript小提琴。 这是我的 updated version 。 我已经更改了您的类结构,这样就不需要任何静态变量,在这种情况下,这似乎是一种绕过糟糕设计的方法。 您已将模型结构创建为:
但您的post数据格式要求表明:
为了避免这种不一致性,我将产品中的序列化数据展平,以便
这条神秘的线条
现在,产品的每个实例都在自身上保存一个项目数组,而不是静态地保存在类上。
我认为对这个类结构更好的重新设计是删除
作为 fiddle
输出现在看起来有所不同,但更干净: 新建:
旧版本:
但这可能不适用于当前的后端实现,具体取决于当前如何处理重复项,因此,如果无法更改任何遗留约束,请忽略最后一部分。 最后,我想补充一点,这种将事件监听器和逻辑附加到DOM的“面向对象”方法比加载时执行的典型jquery函数更结构化。但我在过去使用过它,保持DOM结构和代码的更新是一件痛苦的事,而且由于其中一个中的代码更改没有映射到另一个上,常常会导致错误。 作为替代方案,我强烈建议 reactjs 或类似的DOM抽象类型库。这些允许您将逻辑与它们所依赖的视图元素紧密耦合。 虽然通常与JSX一起使用,但它与Coffeescript结合得很好,但这方面的资源很少。Arkency写一篇关于 react + coffeescript 我写了一篇短文 comparing coffeescript to jsx 也 |
![]() |
cHorse · 无法让CoffeeScript识别js文件中的函数 7 年前 |
![]() |
sekmo · 在CoffeeScript中调用全局函数 7 年前 |
![]() |
Vishal · 将应用程序JS转换为CoffeeScript 7 年前 |
![]() |
Andres Fernandes · 处理datatable行内的事件 7 年前 |