2016-05-26 35 views
0

是否有任何理由使用reject_if並做類似的事情?如果您可以使用驗證,爲什麼會使用reject_if?

class User < ActiveRecord::Base 
    has_many :posts 
    accepts_nested_attributes_for :posts, reject_if: proc do |attributes| 
    attributes['title'].blank? 
    end 
end 

而不是在Post模型上使用驗證?

class Post < ActiveRecord::Base 
    belongs_to :user 
    validates :title, presence: true 
end 

回答

1

如果使用驗證,User創作會,如果存在一個Post不有一個標題失敗。

如果使用reject_if,即使部分或全部Posts沒有標題,User的創建也會成功。只有那些沒有標題的帖子纔會被保存。

相關問題