1

私は Rspec しか知りませんが、Test::Unit を使用するライブラリを修正する必要があります。

レコードをリロードすると、関連付けが nil になることがわかりました

例えば:

test "accepts nested attributes from subscription to user ()" do
  @user = User.create(name:'Ash')
  @subscription = @user.create_subscription()
  puts "user: " << @user.inspect
  puts "subscription: " << @user.subscription.inspect

  @subscription.update_attributes({ :user_attributes => { :notification_comment => true } })
  @user.reload
  puts "user: " << @user.inspect
  puts "subscription: " << @user.subscription.inspect
  assert @user.subscription, "should have an subscription"
end

出力:

user: #<User id: 815823837, account_id: nil, name: "Ash", email: nil, settings: {}, created_at: "2013-02-07 04:28:51", updated_at: "2013-02-07 04:28:51">
subscription: #<Subscription id: 1, user_id: 815823837, created_at: "2013-02-07 04:28:51", updated_at: "2013-02-07 04:28:51">
user: #<User id: 815823837, account_id: nil, name: "Ash", email: nil, settings: {}, created_at: "2013-02-07 04:28:51", updated_at: "2013-02-07 04:28:51">
subscription: nil

なぜこれが起こるのですか?Subscription.find(@subscription.id)確認しましたが、データベースに保存できることを確認できました。

4

0 に答える 0