class Post < ActiveRecord::Base
  validates :name,  :presence => true
  validates :title, :presence => true,
            :length => { :minimum => 5 }
  has_many :comments, :dependent => :destroy
  has_many :tags

  accepts_nested_attributes_for :tags, :allow_destroy => :true,
    :reject_if => proc { |attrs| attrs.all? { |k, v| v.blank? or v.nil? } }
end

rails c

irb(main):001:0> post=Post.first
=> #<Post id: 1, name: "prova", title: "titolo prova", content: "prova
1", created_at: "2011-02-01 10:03:10", updated_at: "2011-02-01
10:03:10">

irb(main):002:0> post.tags.create()
=> #<Tag id: 5, name: nil, post_id: 1, created_at: "2011-02-11
13:19:22", updated_at: "2011-02-11 13:19:22">
irb(main):003:0>

irb(main):003:0> post.valid?
=> true

Tags has blank or nil attributes but it is saved.
Why I have put :reject_if => proc { |attrs| attrs.all? { |k, v|
v.blank? or v.nil? } } for tags?

-- 
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