提问人:Patrick Su 提问时间:4/21/2023 更新时间:4/21/2023 访问量:39
如何限制嵌套模型总数?
How to limit nested model total counts?
问:
作为标题,我有具有嵌套关系的产品和订单模型,例如:
resources :products do
resources :orders
end
产品有一个备案,它的名称是“金额”,例如是 5。
如何限制订单总数小于或等于 5?
我不知道如何在订单模型中使用父关键字。谁能帮我?谢谢。
我需要一个解决方案,谢谢。
答:
0赞
Abhishek Badmaliya
4/21/2023
#1
我们可以以这种方式行事。在这里,我将以一段代码的形式给您一个答案。 您可以测试下面的代码,我在其中创建了一个方法来处理此限制。
class Order < ApplicationRecord
# association
belongs_to :product
# create callback
before_create :check_order_limit
private
# created method which is called before creation
def check_order_limit
errors.add(:base, 'Oops, Limit Exceeded!') if product.orders.size >= product.amount
end
end
评论
0赞
Patrick Su
4/24/2023
我尝试过,但没有用!github.com/afgnsu/limit
评论