当我试图通过has_many:through关系添加对象时,我收到了奇怪的行为。Rails追加不添加对象has_many:通过
我的模型:
Class Player < ActiveRecord::Base
has_many :player_to_team_histories
has_many :team_histories, through: :player_to_team_histories
end
Class TeamHistory < ActiveRecord::Base
has_many :player_to_team_histories
has_many :players, through: :player_to_team_histories
end
代码:
>>p = Player.first
>>p.team_histories.count
0
>>p.team_histories.append TeamHistory.create
>>p.team_histories.count
0
>>p.team_histories.push TeamHistory.create
>>p.team_histories.count
1
>>p.team_histories << TeamHistory.create
>>p.team_histories.count
2
为什么append
没有新创建TeamHistory
添加到team_histories
阵列?
我正在使用Ruby 1.9.2。
更新
发布一个问题Github上: https://github.com/rails/rails/issues/7364
不错的问题。我认为这是微不足道的,但我找不到任何附加方法的文档... – davidrac 2012-08-09 19:04:41