gpt4 book ai didi

ruby-on-rails - has_many :through, 未重新加载/重置

转载 作者:行者123 更新时间:2023-12-04 05:51:00 26 4
gpt4 key购买 nike

我有三个模型,其中两个通过连接模型链接:

 # user.rb 
has_many :user_cards
has_many :cards, through: :user_cards


# cards.rb
has_many :user_cards
has_many :users, through: user_cards

# user_cards.rb
belongs_to :user
belongs_to :card

当我想向用户添加卡片时,我想指定 UserCard 的一个属性,这就是我以这种方式创建它的原因:
 # example
user.user_cards.create(card: card, paid: true)
  • 然后当我做 user.cards它不包含我的新记录。
  • 如果我这样做 user.user_cards它确实包含我的新记录。

  • 我需要打电话 user.cards.reset (或重新加载)。我不喜欢这个解决方案,因为它需要另一个查询。

    你知道我怎样才能重新加载|刷新|更新 user.cards没有额外的查询?

    谢谢!

    最佳答案

    使用 user.cards(true)user.cards(force_reload = true) .

    关于ruby-on-rails - has_many :through, 未重新加载/重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817522/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com