Why would one use reject_if if you can use validation?
<p>Is there any reason you would use <code>reject_if</code> and do something like this?</p>

<pre><code>class User &lt; ActiveRecord::Base
  has_many :posts
  accepts_nested_attributes_for :posts, reject_if: proc do |attributes|
    attributes['title'].blank?
  end
end
</code></pre>

<p>Instead of using validation on the Post model?</p>

<pre><code>class Post &lt; ActiveRecord::Base
  belongs_to :user
  validates :title, presence: true
end
</code></pre>