问题标签 [amoeba-gem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
94 浏览

ruby-on-rails - Rails + Amoeba 错误:未初始化的常量

我需要在我的 Rails 应用程序中克隆一个模型,我正在使用amoebagem 来做同样的事情。

我需要克隆Quiz模型及其所有嵌套关联。

每当我执行上述代码时,都会出现以下错误:

uninitialized constant Quiz::EvaluationsEvaluationSet

我不知道这里的错误在哪里。请告诉我如何纠正它。

0 投票
0 回答
198 浏览

ruby-on-rails - 使用变形虫 gem 克隆 Rails

克隆时,我在引用特定模型时遇到问题。我尝试过使用多种方法,但都没有得到正确的结果,我相信这与我不了解克隆的逻辑是如何工作的有关。

这涉及多个模型,但在层次结构中最后两个模型之间的相互依赖关系中会出现错误。为简单起见,我将尝试使用 3 个模型来解释这一点,以了解一切是如何工作的:Page、PageElement 和 PageElementDependency

  1. APage有很多PageElements
  2. APageElement有 manydependent_page_element_dependencies和 has_many dependee_page_element_dependencies,这两个关系都是PageElementDependency。通过这两个依赖项,我通过关系设置了以下 has_many:has_many :dependees, through: :dependent_page_element_dependencieshas_many :dependents, through: :dependee_page_element_dependencies. 总结一切看起来像这样:

假设我正在尝试使用 PageElement#4 和 PageElement#5 克隆 Page#3,其中有一个 PageElementDependency,其中依赖项是 PageElement#4,被依赖者(依赖者)是 PageElement#5。

所以基本上在这里我们可以访问PageElement.find(5).dependees=> PageElement#6,如果我这样做PageElement.find(6).dependents=> PageElement#5

因此,当尝试克隆 Page#3 时,我希望得到一个带有 PageElement#6 和 PageElement#7 的新 Page#4,这是重要的部分,一个 PageElementDependency,其中依赖项是 PageElement#6,依赖项是 PageElement #7。

但是,当我尝试克隆 PageElementDependencies 时,只有一列获得了新值,而另一列保留了旧​​ PageElement 的值。因此,在给出的示例中,我会得到一个 PageElementDependency,其中依赖项是正确的:PageElement#6,但依赖项没有更新并保持为 PageElement#5。

我不确定如何使用重映射器来获取依赖项的相关“新”和“旧”对象,所以我不确定如何继续。

我也在 github 上发布了这个问题:https ://github.com/amoeba-rb/amoeba/issues/84

0 投票
0 回答
405 浏览

ruby-on-rails - Rails 5.1 之外的变形虫宝石替代品

似乎自 2017 年底以来不再维护 Amoeba gem,并且自述文件仅声称与 Rails 5.1 版兼容

是否有人为 Rails 5.2 及更高版本找到了深度复制(包括关联)的最佳途径?

0 投票
1 回答
112 浏览

ruby-on-rails - 未定义的方法“变形虫”rails 5.2

我正在按照本教程为我的 rails 应用程序实现一个预订系统。我目前被卡住了,因为当我点击“新预订”按钮时,我收到了这个错误

![BookingsController#create 中的 NoMethodError] 1

我在我的 gem 文件中包含了 gem 'amoeba',但它仍然不起作用。谁知道怎么修它?将不胜感激。

日程安排.rb

bookings_controller.rb

日志

0 投票
1 回答
79 浏览

ruby-on-rails - 克隆时跳过阿米巴宝石中的回调

考虑一个A类的基本结构有很多B。现在在克隆A对象时,我想跳过对象B的回调。怎么做?我们通常使用 attr_accessor 执行此操作,但我也无法执行此操作。

https://github.com/amoeba-rb/amoeba/issues/17

这个问题从很久以前就打开了。

在变形虫块中使用 attr_accessor 时出现了一些错误,我认为我们只能使用 DB 值。有什么解决办法吗?