2013-10-21 101 views
1

我有一个模型User,它与Image模型有一对多的关系。Ruby on rails一对多关系

如何限制用户只能存储3张图像?

+2

通过添加自定义验证程序。看看指南,http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations – pduersteler

+0

一些相关的答案在这里:http://stackoverflow.com/questions/2263267/limit-number-of-对象在有很多协会 –

回答

1

验证如何?

class Image 
    belongs_to :user 

    validate :max_3_per_user 
    # (...) 
    private 

    def max_3_per_user 
    if user_id && Image.where(user_id: user_id).count >= 3 
     errors.add(:images, 'There can only be 3 per user') 
    end 
    end 
end 
+0

@Downvoter:谢谢你没有提供解释。无论如何我纠正了我的答案。 –