问题标签 [after-create]
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.
ruby-on-rails - Rails:跳过after_create
我有 2 个模型:
我通常创建一个user
第一个,并有一个after_create
过滤器,在创建client
之后user
创建。
我有一个client
存在的新案例,我想在已经存在user
之后创建。client
在这种情况下,当我创建时user
我想跳过after_create
过滤器。
我知道我需要after_create :create_client, unless: ____
,但我不确定如何区分。
ruby-on-rails - Ruby on Rails -- SystemStackError:堆栈级别太深
我在创建后和更新前向我的模型添加了一些代码,现在我无法保存我的帖子 btw 两个模型(用户和帖子)都有 has_and_belongs_to_many 关系:
是什么导致了这个,我应该改变什么来摆脱这个错误?
parent-child - 创建父对象后创建多个关联记录
我有一个用户创建约会的应用程序,每个约会都有一组通过 Appointment_Skills 表附加到他们的技能。在创建后,我想为每个约会附加大约 50 种左右的技能。因为约会表单太大并且要跟踪的事情太多,我让用户使用最小表单创建约会,然后重定向到他们可以访问整个约会的编辑页面。我正在使用嵌套属性来更新编辑表单中的 Appointment 和 Appointment_Skills。
如果我继续创建一些 AppointmentSkills,我可以使用我的编辑表单来更新它们的属性,但我不确定如何在创建父级后自动创建它们。
我考虑过首先计算所有技能和 ID,然后使用 after_create 回调创建所有具有技能 ID 和约会 ID(刚刚创建的约会)的 AppointmentSkills。
这可能吗?这是一种奇怪的做法吗?
ruby-on-rails - 只需一次启动方法以添加/删除关联元素
我有一个Composition
模型,它有一个has_and_belongs_to_many :authors
.
我需要在组合更改其作者后触发一个方法,但是,由于它涉及创建 PDF 文件(使用作者的姓名),我只想调用此方法一次,而不管添加的作者数量/删除。
当然,我可以从作品中添加/删除现有作者,因此before_save
/after_save
在这里不起作用(它以某种方式识别添加到作品中的新作者,但不是现有作者)。
所以我尝试使用after_add
/ after_remove
,但这里指定的回调将为添加到组合中/从组合中删除的每个作者项目调用。
有没有一种方法可以让每个从这种关系中添加/删除项目的“批处理操作”只调用一次方法?
ruby-on-rails - 插入后的 Rails 回调
我正在使用一个闭包表来对我的一个模型的层次结构进行建模。因此,我正在使用after_create因此,每当调用Model.create挂钩来创建 tree_path 对象。我还希望在#new与#save一起调用时运行此挂钩。这意味着我必须使用after_save而不是after_create,但是 after_save 也在更新时运行,这是我不想要的。
是否可以让回调在对象的初始插入(创建或首次保存)时运行,但不能在更新时运行?从回调中创建更多对象是不好的形式吗?