1

Rails 4.0 の補足に従った後、Michael が言及しているいくつかの特定の問題の部分にたどり着きました

Micropost 仕様 ( spec/models/micropost_spec.rb) の 1 つの小さな変更は、dupメソッド (ユーザーのユーザー マイクロポストを複製する) からto_aメソッド (それらを配列に変換する) への変更です。のバージョンは次のdupとおりです。

レール3.2

it "should destroy associated microposts" do
  microposts = @user.microposts.dup
  @user.destroy
  microposts.should_not be_empty
  microposts.each do |micropost|
    Micropost.find_by_id(micropost.id).should be_nil
  end
end

レール4.0

it "should destroy associated microposts" do
  microposts = @user.microposts.to_a
  @user.destroy
  expect(microposts).not_to be_empty
  microposts.each do |micropost|
    expect(Micropost.where(id: micropost.id)).to be_empty
  end
end

彼自身は、メソッドを変更する必要性を完全には理解していないと述べています。

理由はわかりませんがdup、Rails 4.0 では の呼び出しは機能しなくなりましたが、これを置き換えると問題なくto_a機能します。

では、なぜ機能しなくdupなったのでしょうか。

4

1 に答える 1