假设我有一个ActiveRecord关联,如:
class City < ActiveRecord::Base belongs_to :state end
没有国家的城市应该是无效的.似乎这两个都是可能的验证:
validates :state,presence: true # OR validates :state_id,presence: true
我猜他们是一样的,因为:
> belongs_to创建方法state和state =
> state =设置state_id
但是,我刚刚修改了一个失败的规范,通过改变它来检查id而不是对象.
这两种验证方式是否可以接受?如果是这样,你什么时候使用一个或另一个?