class User < ActiveRecord::Base
has_many :friends
accepts_nested_attributes_for :friends
end
class Friend < ActiveRecord::Base
belongs_to :user
end
ユーザーは、RESTAPIを介して友達を追加し続けます。
{ "user": {
"name": "Peter",
"friends_attributes": [
{ "name": "Paul" },
{ "name": "Mary" }
]
}
}
後で、ユーザーはさらに友達を追加し、同じAPIを呼び出します。
{ "user": {
"name": "Peter",
"friends_attributes": [
{ "name": "Paul" },
{ "name": "Mary" },
{ "name": "John" }
]
}
}
さて、次のような検証をどのように書くべきですか?
- 新しい友達だけが追加されます(つまり、ジョン)
- 既存のものを複製せずに(すなわち、ポール、メアリー)
- 全体としてAPI呼び出しに失敗しないでください