has_many :through 関係を介してオブジェクトを追加しようとすると、奇妙な動作が発生します。
私のモデル:
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