Active Record mit Delegieren und Bedingungen
Ist es möglich, delegieren Sie in Ihrer Active Record-Modell verwenden und Bedingungen wie :if
drauf?
class User < ApplicationRecord
delegate :company, :to => :master, :if => :has_master?
belongs_to :master, :class_name => "User"
def has_master?
master.present?
end
end
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, können Sie nicht, aber Sie können passieren die
:allow_nil => true
option zur Rückgabe nil, wenn der master ist gleich null.Anders, Sie müssen schreiben Sie Ihre eigenen benutzerdefinierten stattdessen die Methode über den Delegaten makro für komplexere Optionen.
Brauchte ich das delegieren der gleichen Methode zu zwei Modelle, sondern verwenden ein Modell über das andere. Verwendet habe ich das :prefix-option:
von einzelnen.rb