问题标签 [after-save]

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 投票
2 回答
1045 浏览

cakephp - cakephp 你如何在模型中调用控制器的动作

我在消息模型中的 afterSave 中工作。我想在每次创建消息时发送一封电子邮件以通知收件人他们的新消息。我在消息控制器中有一个发送电子邮件的操作,我想从 afterSave 中调用它。

我试过这样称呼它:

我收到一个 sql 错误,因为它在模型内部而不是控制器中查找函数。

如何声明模型函数?是否可以?

0 投票
2 回答
1065 浏览

ruby-on-rails - 在 ruby​​ on rails 中保存关联后复杂

理论:- 在创建记录后customer bill,我发送两组数据和两个不同的模型。一组数据被发送到ledger,一组数据被发送到ledger_line_item。复杂性在于,在发送数据后,我希望将ledger_id其存储在ledger_line_item. 代码如下

代码 :-

在我写的分类帐中

上面的代码工作正常,没有错误,但ledger_id没有发布在ledger_line_items. 我无法确定为什么会发生此错误?有没有其他方法可以实现我在创建账单后发布ledger_id的目标?ledger_line_items需要指导。提前谢谢你。

0 投票
2 回答
1329 浏览

ruby-on-rails-3 - 保存后Rails 3.2更新属性

保存数据后,我想更新数据库中的特定属性。

例如,我的表中有一个名为pending 的列,它是一个布尔值。我想在保存数据时将此值设置为 true。

这行不通。这里有人有解决方案吗?

0 投票
1 回答
393 浏览

ruby-on-rails - after_save 更新一个 belongs_to 模型

我有一个 User 模型has_many :comments和一个 Comment 模型belongs_to :user

我想聚集comment.ratings起来设置user.rating,所以我after_save在我的评论模型中有一个方法,我称之为。然而,这永远不会被调用。

这是方法:

我检查了 ruby​​ 代码,它可以在控制台上运行,所以我认为它不是 ruby​​ 代码。

是的,我在模型中也有 after_save :update_user_rating。

我想了解我做错了什么?

编辑:基于调试器,我看到 user.trip_rating= 的第一部分永远不会执行。意思是我试图next在那条线上做,但它从未通过,所以我假设那条线是问题所在。但是再次检查rails控制台,我看到它在那里工作。我不明白!

已解决:尽管我不喜欢它,但这是我解决问题的方法。我删除了 after_save 回调并向用户模型添加了一个方法来计算它自己的评级,并在控制器中调用它。

0 投票
2 回答
256 浏览

ruby-on-rails-3 - 获取以前的 HABTM 值

在我的应用程序中,我有几个clients,并且它们有几个elements (通过has_many_through关联),具体取决于某个属于BusinessType哪个Client,因此我无需手动将所有的添加elementsClient,我只需选择BusinessType并自动添加所有内容(business_typeClientis 中attr_readonly)。BusinessTypeHABTM elements

这是一个问题,在使用 default 创建后BusinessType,客户端可以更新他们的元素并根据需要删除或添加(主要是添加),所以我想要做的是以下内容:

假设 onebusiness_type有元素[1,2,3]并分配给 one client,然后,将以下元素手动添加到client=[4,5,6]所以它最终有[1,2,3,4,5,6],好的,这里一切都很好。

但在此之后,business_type更新并2删除了元素,所以它最终成为[1,3]. 这是交易,我希望通过删除客户端来更新客户端2,但不是[4,5,6]那些与问题不对应的客户端,business_type以便它结束[1,3,4,5,6],我正在使用after_update回调来更新clients'元素,但该_was方法不适用于HABTM 关系(获取旧business_type's元素。

我已经尝试使用before_update回调 first toclient.elements = client.elements - business_type.elements暂时存储在 DB[1,2,3,4,5,6] - [1,2,3] = [4,5,6]中,并在 after_updateclient.elements = client.elements + business_type.elements中获取[4,5,6] + [1,3] = [1,3,4,5,6],但这已经具有[1,3]. 如何获得orbusiness_type.elements中的旧值?before_updateafter_update

在此先感谢您的帮助!

0 投票
1 回答
1080 浏览

php - 在 afterSave Yii 中使用 foreach 将动态值保存到另一个表/模型

这是我的第一篇文章,我真的对下面的代码感到困惑。我正在构建一个游戏网站(我的第一个项目使用 yii),并且我在模型中使用 afterSave() 将数据插入另一个表,因为关系是多对多的。我正在从数据库中获取数据,然后将其分解以仅获取数字(因此我可以将其插入另一个表中)而不是('2','|','3')。问题是 foreach 在我的示例中插入了一行(尽管它应该插入不止一行),并且插入的 con_id 值始终为 1,我不明白这里的问题,请帮助我。

0 投票
1 回答
2041 浏览

ruby-on-rails-3 - Rails after_save 错误

这是使用 after_save 回调的正确方法吗?

此代码将错误抛出为

使用 after_save 的正确方法是什么?

0 投票
0 回答
369 浏览

ruby-on-rails - Rails:跟踪每个级别最高分的策略

我正在开发一个 Rails 应用程序,该应用程序需要跟踪用户在他们玩的每个级别的最高分。

一个级别的每次尝试都有多个轮次,尝试中每轮的得分总和在尝试中缓存为 total_score。

楷模:

  • 高分(belongs_to:用户、级别、尝试)
  • 级别(has_many:尝试)
  • 尝试(has_many:回合,belongs_to:用户,级别)
  • 回合(belongs_to:尝试)
  • 用户(has_many:high_scores,尝试)

当一轮保存更新时,它所属的尝试的总得分。我目前正在使用以下幼稚的实现,但计划很快重构。在我重构之前,我想知道是否有更好的策略来更新这些信息。

我知道我可以只查询此信息,但是当我想显示所有高分时我想要快速响应,并且我希望能够存储每次尝试在当时是否都是高分完全的。

0 投票
1 回答
1294 浏览

php - 在 afterSave() 中保存模型实例,它不会递归运行吗?

我需要汇总一些子模型数据并将其存储在父模型实例属性中。但是为了保存属性值,我需要调用$this->save()或者$this->saveAttributes(array('<attr name>')); 它不会永远递归地运行save()过程,如果不是,为什么不呢?事件模型内部:

更新 1

正如乔恩所建议的,我可以这样做:

更新 2

我更新了我的问题以显示模型的相关代码。我只将子模型的总和累积到父属性中。正如问的那样,我分享了模型。这里主要是它们的关系: Event(父模型)和EventContent(子模型)与这个关系绑定:

0 投票
1 回答
425 浏览

javascript - 解析 afterSave 函数被跳过

所以我有一个使用 parse.com 作为后端的消息传递应用程序。当我从应用程序发送消息时,它会将其保存在 Parse.com 上的一个名为“NewMessages”的类中。然后在我的云代码中,我有一个专门用于此类的 afterSave 函数,这样当一个新对象保存到“NewMessages”时,它会随机选择一个用户将其附加到消息中并将其保存在一个名为“Inbox”的新类中。然后它从“NewMessages”中删除原始消息。

所以“NewMessages”类应该总是空的吧?但是当我很快发送一堆消息时,有些消息会被跳过。我该如何解决?

有没有比使用 afterSave 更好的方法来构建它?