0
我想重写一个has_many
关联getter使用方法。删除相关的记录删除原来的Rails中的has_many关联getter后
我有一个has_many
卡通过连接表user_cards
协会。我在模型中添加了一个方法...尝试完全覆盖条件。
has_many :cards, through: :user_cards, source: :canonical, source_type: 'Primary'
的user_cards
是多态的所以有source
,并从联想呼叫source_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 ...请帮助。谢谢。
的可能的复制[如何使用依赖于:在轨摧毁?](http://stackoverflow.com/questions/29560805/how-to-使用依赖,破坏式护栏) – yoones