リスト6.18(レール3.2)の一意性制約のテストを理解しようとしています。
describe "when email address is already taken" do
...
before do
user_with_same_email = @user.dup
user_with_same_email.save
end
it { should_not be_valid }
end
「ここでの方法は、@user と同じ電子メール アドレスを持つユーザーを作成することです。これは、同じ属性を持つ複製ユーザーを作成する @user.dup を使用して実現します。その後、そのユーザーを保存するため、元の @user にはこの電子メール アドレスはデータベースに既に存在するため、有効ではありません。」
私がはっきりしていない部分は、最初のユーザーがデータベースに保存された場所/時期です。つまり、user.save への呼び出しはありません。オートマジックはどこ?
ありがとう、
カ