在Rails 4.1.0中,has_and_belongs_to_many的反思是否已经消失?

时间:2014-04-09 16:25:35

标签: ruby-on-rails activerecord has-and-belongs-to-many

我不明白为什么他们如此重视这种行为以及如何取消旧的结果。我的一些抽象代码取决于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  

1 个答案:

答案 0 :(得分:0)

此意外行为发生在导轨4.1.04.1.1中,因为4.1.2 reflections是公共API,会返回您期望的值。

有关我的问题的更多信息可以在github issue我已经开启

中找到