Přidáním položky do sbírky se položka okamžitě uloží (pokud uživatel není uložen). Volání uložení vytvoří vlastní transakci a to je to, co je vráceno zpět, nikoli transakce, ve které je položka uložena
Můžete donutit vše do stejné transakce tím, že ji explicitně vytvoříte.
begin
User.transaction do
@user.items << item
@user.save!
render :json => {}, :status => :ok
end
rescue ActiveRecord::RecordInvalid
render :json => {:status => :error, :errors => item.errors}, :status => :bad_request
end