问题标签 [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 - counter_cache 在 after_create 钩子中已过时
我依赖模型的 after_create 挂钩中的计数器缓存值。但是,我的钩子在计数器缓存更新之前被调用,从而中断了计算。
有什么方法可以强制计数器缓存“刷新”,以便我始终在 after_create 中看到最新值?
ruby-on-rails - 在 after_create 回调期间无法获取外键,因为它还不存在!
我有一些模型都在内存中链接在一起(父:子:子:子),并通过保存最顶层的父级同时保存。这工作正常。
我想利用其中一个孩子的 after_create 回调来填充变更日志表。我需要复制/推送到更改日志表中的属性之一是孩子的 foreign_key 到它的直接父级,但它在 after_create 触发时不存在!?!
如果没有 after_create 回调,我可以查看日志并查看子项在其父项(外键空白)之前被保存,然后插入父项......然后使用父项的 id更新子项。孩子的 after_create 在正确的时间触发,但它发生在 Rails 有机会使用 foreign_key 更新孩子之前。
有什么方法可以强制 Rails 以某种顺序保存这样的模型链接?即父母,然后是孩子(父母foreign_key存在),然后是孩子的孩子(同样,foreign_key是可访问的)等等。??如果没有,在创建记录并获取foreign_key 后,我将如何进行常规触发?
似乎这样的回调会有所帮助:after_create_with_foreign_keys
ruby-on-rails - 每次创建新用户时,Rails 都会将数据加载到应用程序中
我试图找出“正确”的方法来做到这一点。
在我的应用程序中,每次创建新用户时,我都希望将特定数据加载到关联表中。关联表是不同的预设列表。所以一个用户有很多列表,这些列表有很多项目。我想在创建用户时加载其中一些项目。
我真的不知道该怎么做,但我猜想是这样的:创建用户 after_create:创建列表(列表名称需要已经存在的数据) after_create List 然后用这些列表的现有数据填充 Items 表。
我应该为此使用种子数据吗?这对生产来说可以吗?如果可以,我将如何去做。
非常感谢任何指导或其他建议。
oracle - Oracle AFTER/BEFORE CREATE ON DATABASE 触发器:如何访问对象源
我正在尝试为 Oracle 实现伪版本控制和存储库。这个想法是:当存储的函数/过程被更改或创建的全局数据库触发器被触发时,它将获取修改对象的当前源并将它们存储到表中。所以我使用了两个触发器:
一切正常,除了 AFTER_MODIFY 触发器看到编译对象的旧版本(源)。我试图从相同的结果中获取资源SYS.SOURCE$.SOURCE
并作为第二次尝试。dbms_metadata.get_ddl(OBJ_TYPE, OBJ_NAME, OBJ_OWNER)
我正在寻找建议或明确的答案,例如“您无法在 Oracle 10g+ 中做到这一点”。
ruby-on-rails-3 - 我应该如何在模型中使用带有条件的 after_create
我有一个在创建对象后调用的方法
有没有办法将此限制为条件,例如对象的属性值
例如?
ruby-on-rails - rails:在 after_create 中访问成员变量
我正在构建一个调查应用程序,根据评级我需要发生某些事情。基本上,如果提交的调查总评分低于 15,我们需要通知主管。这对于邮件程序来说很容易,但我似乎无法在 after_create 方法中访问评级数据。
我的模型有 5 个字段,名为 A、B、C、D 和 E,它们是整数,它们以表格形式保存评分数据。
我已经尝试过:notation 我已经尝试过 self.notation,我已经尝试过 after_create(service) service.notation 并且没有任何效果 - 电子邮件永远不会被发送,因为它没有意识到评级低于 15。
我也有一个类似问题的复选框。在数据库中,它显示为“true”,但在保存之前它通常显示为 1,因此测试正确值很棘手。与下面的代码类似,我也无法访问它的值。我列出了我尝试过的所有各种方法,但都没有成功。
显然,这些并非同时存在于模型中,它们在下面列出,作为我尝试过的示例
如何在 after_create 调用中访问这些数据值?!
ruby-on-rails-3 - Rails3 - 添加默认值到关联表 after_create
我正在寻找一种在创建父级后添加关联数据库的方法。
我有一个简单的User
模型,只有字段username
和相关的 ( has_many
) 子Place
模型placenames
。
用户创建成功后,表中Places
应填入如下条目:欧洲、亚洲、非洲。我认为要走的路是使用该after_create
方法,但我找不到如何从我的父模型触发创建。
ruby-on-rails - Rails - 创建回调和嵌套属性后的执行顺序
我对User和 UserProfile进行了简单的设置User
和建模。UserProfile
has_one :user_profile
belongs_to :user
但是我无法理解 Rails 如何定义after_create
回调的执行顺序并accepts_nested_attributes_for
在我的模型中定义。让我们考虑这两种情况。
情况1:
现在,如果我通过控制台创建一个用户(也带有 user_profile_attributes 哈希),after_create
则在创建用户及其用户配置文件后触发回调。
情况2:
如果after_create
放在顶部,
在创建用户之后但在创建用户配置文件之前触发回调。
这是预期的运作方式吗?Rails 在这里内部做什么?执行顺序是否简单地由代码的顺序决定?
我从哪里开始深入挖掘或调试呢?
ruby-on-rails - 带有 after_create 回调和验证 on_update 的 rails state_machine
我在模型事件中使用state_machine gem。
事件的初始状态为待处理。
当我创建一个事件时,我想运行一个 after_create 回调,看看我是否可以根据事件的属性进行第一次转换。
事件模型还具有检查某些属性是否未更改的验证。
现在我的问题是,当 state_machine 事件 :verify 在 after_create 回调中被调用时,所有值都被标记为从 nil 更改为“初始值”,并且由于上述验证失败而无法进行转换。
现在,我真的不明白这怎么可能。如果 event.changes 是 after_create 回调,如何为所有值返回 nil =>“初始值”?对我来说,似乎在第一次保存事件之前调用了 after_create 回调。我希望它被保存一次,然后进行回调,然后在调用验证事件后尝试保存事件之前,当我调用更改时,只有 state 属性应该发生变化。
一些示例代码:
ruby-on-rails - Friendly_id 使用来自 belongs_to 关联的值
我有以下型号:
在create_professor
被调用并因此执行传递到教授模型(self.professor = Professor.create
)时,当它开始尝试在此方法中创建slug时:
我得到一个undefined method first_name for nil:NilClass
,所以教授对象似乎不知道他的关联用户是什么。
关于如何解决这个问题的任何提示?