I have bellow one model has many other model.

The question is when i update 2 models. One model is validate failed.
The other model can not rollback.

Sample:

class User < ActiveRecord::Base
  has_many :products, :dependent => :destroy
  validates_presence_of :name
end

class Product < ActiveRecord::Base
  belongs_to :user
end

# do a update

User.transaction do
  user = User.find(1)
  p user.products # => [#product1,#product2]
  user.products = [#product3, #product4]
  user.name = ""
  user.save
end

=>
validate error: Name can't be blank

But when you run bellow.
user = User.find(1)
p user.products   # => [#product3,#product4]

How can i resolve this problem?
I don't need products are updated.

I use
.mysql innoDB
.Rails 3.0.3
.activerecord (3.0.3)


-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to