0
I have the following models:
class Pedido < ActiveRecord::Base
has_and_belongs_to_many :produtos
validate :has_one_or_less_produtos
private
def has_one_or_less_produtos
errors.add(:produtos, 'Não é permitido mais de 1 produto') if produtos.size >= 1
end
end
class Produto < ActiveRecord::Base
has_and_belongs_to_many :pedidos
end
However when adding more than one product to the order:
Pedido.first.produtos << Produto.last
validation does not work, what’s the problem?
Why are you using :has_and_belongs_to_many if you want the order to have a maximum of 1 product?
– GuiGS
Because it depends on the business rule, today I need it to be one, but my client can request to be two or more. That "1" of the validation, let’s say that it would be a parameter of the system.
– Daniel