我有以下关联:
A User has_many Order
A Order belongs_to User
创建用户时,我可以这样做:
User.create(:orders_attributes => [{:description => 'test'}, {:description => 'test2'}]
因为在用户模型中我有
accepts_nested_attributes_for :orders
我希望能够通过以下方式限制创建用户时可以创建的订单数量:
validate :max_orders, on: :create
def max_orders
errors.add(:base, "error message") if orders.count > 1
end
但我一直看到self.orders为0。
我错过了什么?
答案 0 :(得分:2)
你可以这样做。
validates :orders, length: { is: 1 }, on: :create