删除关联记录会在覆盖 Rails 中的 has_many 关联 getter 后删除原始记录

rukia_kuchiki_21

我正在尝试has_many使用一种方法覆盖关联 getter。

has_many通过 join table有一个卡片关联user_cards我在模型中添加了一个方法......试图完全覆盖条件。

has_many :cards, through: :user_cards, source: :canonical, source_type: 'Primary'

user_cards所以有一个是多态的sourcesource_type从关联的呼叫。

吸气剂看起来不错......正如预期的那样。

def cards
  Card.where(id: user_cards.pluck(:card_id))
end

然而...简单的删除关联记录现在是删除原来的,不仅仅是连接表记录,这是非常可怕的,可以破坏应用程序。

@card = Card.find(1)
@user.cards.delete(@card)

以上@card从数据库中完全删除了对象......我期待它删除@user.user_cards记录。

我不熟悉覆盖关联 getter ......请帮忙。谢谢。

瑙特格勒

解决这个问题的简单方法是UserCard直接销毁

@card = Card.find(1)
@card.user_cards.where(user_id: @user.id).destroy

但确保UserCard没有dependent: destroy

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从has_many中删除对象,但是不删除Rails中的原始记录?

来自分类Dev

Rails,如何通过删除has_many中的关联

来自分类Dev

Rails 4所属/ has_many关系-删除关联的属性,但保留关联的记录

来自分类Dev

Active Record如何将记录添加到has_many:通过Rails中的关联

来自分类Dev

Rails-检查has_many关联中是否存在记录

来自分类Dev

Rails Active Record,从has_many:through关系中获取相关记录,并与where子句关联

来自分类Dev

Rails 4:通过has_many关联创建新记录

来自分类Dev

Ruby on Rails has_many -- 为单个记录创建关联

来自分类Dev

用has_many关联进行Rails软删除

来自分类Dev

Rails通过关联删除has_many

来自分类Dev

Rails中的has_one和has_many关联

来自分类Dev

基于关联表中的记录计数的has_many表格

来自分类Dev

无法从关联表中删除记录(Rails)

来自分类Dev

奇怪的问题has_many通过更新的Rails中的关联

来自分类Dev

Rails:has_many关联中的AND运算符

来自分类Dev

在同一模型中的Rails关联“ has_many:through”

来自分类Dev

Rails 4中的has_many和belongs_to关联

来自分类Dev

如何在rails中插入has_many关联

来自分类Dev

从Rails中的ngResource获取has_many关联

来自分类Dev

通过Rails 4中的关联使用has_many

来自分类Dev

Rails Has_many和Belongs_to中的模型关联

来自分类Dev

获得所有has_many关联在rails中

来自分类Dev

在外键上扩展Rails中has_many的关联

来自分类Dev

rails-admin has_many 关联显示在模型中

来自分类Dev

Rails快速找到has_many关联与关联ID数组完全匹配的记录

来自分类Dev

ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

来自分类Dev

Rails:将属性值添加到has_many:through关联的联接表中的几个新记录中

来自分类Dev

Has_many rails关联=> NoMethodError

来自分类Dev

Rails 5 可选的 has_many 关联

Related 相关文章

  1. 1

    从has_many中删除对象,但是不删除Rails中的原始记录?

  2. 2

    Rails,如何通过删除has_many中的关联

  3. 3

    Rails 4所属/ has_many关系-删除关联的属性,但保留关联的记录

  4. 4

    Active Record如何将记录添加到has_many:通过Rails中的关联

  5. 5

    Rails-检查has_many关联中是否存在记录

  6. 6

    Rails Active Record,从has_many:through关系中获取相关记录,并与where子句关联

  7. 7

    Rails 4:通过has_many关联创建新记录

  8. 8

    Ruby on Rails has_many -- 为单个记录创建关联

  9. 9

    用has_many关联进行Rails软删除

  10. 10

    Rails通过关联删除has_many

  11. 11

    Rails中的has_one和has_many关联

  12. 12

    基于关联表中的记录计数的has_many表格

  13. 13

    无法从关联表中删除记录(Rails)

  14. 14

    奇怪的问题has_many通过更新的Rails中的关联

  15. 15

    Rails:has_many关联中的AND运算符

  16. 16

    在同一模型中的Rails关联“ has_many:through”

  17. 17

    Rails 4中的has_many和belongs_to关联

  18. 18

    如何在rails中插入has_many关联

  19. 19

    从Rails中的ngResource获取has_many关联

  20. 20

    通过Rails 4中的关联使用has_many

  21. 21

    Rails Has_many和Belongs_to中的模型关联

  22. 22

    获得所有has_many关联在rails中

  23. 23

    在外键上扩展Rails中has_many的关联

  24. 24

    rails-admin has_many 关联显示在模型中

  25. 25

    Rails快速找到has_many关联与关联ID数组完全匹配的记录

  26. 26

    ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

  27. 27

    Rails:将属性值添加到has_many:through关联的联接表中的几个新记录中

  28. 28

    Has_many rails关联=> NoMethodError

  29. 29

    Rails 5 可选的 has_many 关联

热门标签

归档