gpt4 book ai didi

ruby-on-rails - Rails 5 hasMany 通过是不是过滤

转载 作者:行者123 更新时间:2023-12-04 06:20:29 25 4
gpt4 key购买 nike

我从 Rails 4 迁移到 Rails 5 时遇到了这个问题。我有 hasMany through 关系来连接 TrackRightHolder 类:

class RightHolder < ActiveRecord::Base
has_many :right_holder_tracks, class_name: 'TrackRightHolder', dependent: :delete_all
has_many :tracks, -> { uniq }, through: :right_holder_tracks
end

class TrackRightHolder < ActiveRecord::Base
belongs_to :track
belongs_to :right_holder
end

class Track < ActiveRecord::Base
has_many :track_right_holders, dependent: :destroy
has_many :right_holders, -> { uniq }, through: :track_right_holders
end

在 Rails 4 中,这是完美的,但在 Rails 5 中,当我尝试获取:

Track.first.right_holders
RightHolder.first.tracks

Rails 应用程序执行这些查询:

select * from right_holders
select * from tracks

我做错了什么?这是错误吗?

最佳答案

在 Rails 5 中,关系 uniq 被弃用,取而代之的是 distinct : https://edgeguides.rubyonrails.org/5_0_release_notes.html#active-record-deprecations

更多信息请参见 this answer

关于ruby-on-rails - Rails 5 hasMany 通过是不是过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56924688/

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