在Rails中创建记录后如何延迟

理查德·罗宁

基本上我需要在after_save::create ward之前创建一个关联

Location.rb

 after_save :createward      

  def createward
    w = Ward.find_by_name(self.city)
    if w.nil?
      c = self.create_ward({:name => self.city})
      self.ward_id = c.id  #this line should be delayed because - c.id is called to soon. 
    else
      self.ward_id = w.id
    end
  end

这种工作在大多数情况下会创建或关联记录,但有时c.id将为nil,因为self.ward_id = c.id行是在创建新病房之前执行的,因此self.ward_id通常为nil; /任何想法如何解决这一问题将是有帮助的:)

pdobb

您不需要延迟...那样行不通。之后,create您将拥有自己的记录。记录有时可能没有保存。如果保存失败,可以使用.create_ward!(带有!)引发错误。从API文档:

create_association!(属性= {})

与create_association相同,但是如果记录无效,则引发ActiveRecord :: RecordInvalid。

当然,您需要捕获该异常…否则就不会。无论哪种方式,至少您要用这种方式陈述自己的期望(并使用Exception强制执行)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建后,使用子记录中的信息更新Rails父记录

来自分类Dev

停止在Rails中记录延迟的作业活动记录条目

来自分类Dev

在单个事务中创建父记录后,如何创建子记录(第5条)?

来自分类Dev

如何从Rails中的单个文本字段创建多个记录?

来自分类Dev

如何从Rails中的不同控制器创建记录?

来自分类Dev

如何在Rails中创建has_many关系记录?

来自分类Dev

从AngularJS在Rails中创建记录

来自分类Dev

创建记录后如何创建结果?

来自分类Dev

Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

来自分类Dev

Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

来自分类Dev

将其他记录保存到其他表rails4中后,自动在表中创建记录

来自分类Dev

在Rails中创建后如何更改路径的位置?

来自分类Dev

如何为实体框架延迟加载创建虚拟记录字段

来自分类Dev

如何在Rails中创建延迟运行以间隔一年的时间?

来自分类Dev

在 Laravel 中创建记录后发送通知

来自分类Dev

如何在QML中创建延迟功能?

来自分类Dev

Rails在联接表中创建多个记录

来自分类Dev

自动在Rails中为用户创建记录

来自分类Dev

创建记录后,是否可以在OrientDB中更新记录的类?

来自分类Dev

Rails:创建后关联两个记录

来自分类Dev

react-rails:创建记录后组件不会重新渲染

来自分类Dev

延迟的作业-销毁对象后无法为非持久记录创建作业

来自分类Dev

如何创建在 MongoDB 中插入新记录后自动递增的字段?

来自分类Dev

订购后如何获得记录中的第一行?Ruby On Rails

来自分类Dev

如何在活动记录/ Rails 4迁移中创建具有唯一索引的新表

来自分类Dev

如何在has_and_belongs_to_many rails中创建联接表记录

来自分类Dev

如何在Rails中创建活动记录类的未持久实例?

来自分类Dev

如何在Rails中创建联接表记录,有很多:通过关系

来自分类Dev

如何在Rails中创建多个记录并使用create方法处理验证?

Related 相关文章

  1. 1

    创建后,使用子记录中的信息更新Rails父记录

  2. 2

    停止在Rails中记录延迟的作业活动记录条目

  3. 3

    在单个事务中创建父记录后,如何创建子记录(第5条)?

  4. 4

    如何从Rails中的单个文本字段创建多个记录?

  5. 5

    如何从Rails中的不同控制器创建记录?

  6. 6

    如何在Rails中创建has_many关系记录?

  7. 7

    从AngularJS在Rails中创建记录

  8. 8

    创建记录后如何创建结果?

  9. 9

    Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

  10. 10

    Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

  11. 11

    将其他记录保存到其他表rails4中后,自动在表中创建记录

  12. 12

    在Rails中创建后如何更改路径的位置?

  13. 13

    如何为实体框架延迟加载创建虚拟记录字段

  14. 14

    如何在Rails中创建延迟运行以间隔一年的时间?

  15. 15

    在 Laravel 中创建记录后发送通知

  16. 16

    如何在QML中创建延迟功能?

  17. 17

    Rails在联接表中创建多个记录

  18. 18

    自动在Rails中为用户创建记录

  19. 19

    创建记录后,是否可以在OrientDB中更新记录的类?

  20. 20

    Rails:创建后关联两个记录

  21. 21

    react-rails:创建记录后组件不会重新渲染

  22. 22

    延迟的作业-销毁对象后无法为非持久记录创建作业

  23. 23

    如何创建在 MongoDB 中插入新记录后自动递增的字段?

  24. 24

    订购后如何获得记录中的第一行?Ruby On Rails

  25. 25

    如何在活动记录/ Rails 4迁移中创建具有唯一索引的新表

  26. 26

    如何在has_and_belongs_to_many rails中创建联接表记录

  27. 27

    如何在Rails中创建活动记录类的未持久实例?

  28. 28

    如何在Rails中创建联接表记录,有很多:通过关系

  29. 29

    如何在Rails中创建多个记录并使用create方法处理验证?

热门标签

归档