Ich habe einen Kühlschrank und ich möchte Produkte in den Kühlschrank legen können. Klingt OK, aber es gibt zwei Regeln:Schienen 4: Validieren Attributeindeutigkeit von hat viele Beziehung
- Es gibt nur Kapazität für nur 1 von jedem Produkt im Kühlschrank.
Es gibt einen definierten Satz von Produkten, die ich in den Kühlschrank stellen kann. Die maximale Kapazität im Kühlschrank ist:
- 1 Käse
- 1 Ei
- 1 Milk
- 1 Butter
- 1 Paprika
- 1 Salat
Die Modelle sehen so aus:
class Product < ActiveRecord::Base
belongs_to :fridge
# Type product
enum type: [:cheese, :egg, :milk, :butter, :bell_pepper, :lettuce]
end
class Fridge < ActiveRecord::Base
has_many :products
end
Ist es möglich, im Kühlschrankmodell einen Validator einzurichten, um die definierten Regeln zu erfüllen?
Ja. Lesen Sie den Leitfaden zur benutzerdefinierten Validierung. http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations – Meier