我不明白为什么他们如此重视这种行为以及如何取消旧的结果。我的一些抽象代码取决于reflections
方法。
在4.0.4中,此代码返回了您期望的内容:
User.reflections.each_pair { |a, x| puts [a, x.macro].join(' => ') }
games => has_many
posts => has_many
players => has_many
teams => has_and_belongs_to_many
roles => has_and_belongs_to_many
在4.1.0中,相同的数据库和模型返回:
User.reflections.each_pair { |a, x| puts [a, x.macro].join(' => ') }
games => has_many
posts => has_many
players => has_many
users_teams => has_many
teams => has_many
users_roles => has_many
roles => has_many
用户模型:
class User < ActiveRecord::Base
acts_as_authentic
has_many :games
has_many :posts
has_many :players
has_and_belongs_to_many :teams
has_and_belongs_to_many :roles
end
答案 0 :(得分:0)
此意外行为发生在导轨4.1.0
和4.1.1
中,因为4.1.2
reflections
是公共API,会返回您期望的值。
有关我的问题的更多信息可以在github issue我已经开启
中找到