3
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呼び出しに失敗しないでください
4

0 に答える 0