Als ich den Rails-Code gelesen habe, habe ich das gefunden
%Vor% Was macht die *
? :O
Ich weiß, was passiert, wenn wir es wie *args
verwenden, aber in diesem Fall ist es einfach *
.
ref Ссылка
In diesem speziellen Fall übernimmt save keine Argumente. Das passiert mit einem nackten Splat. Aber wie Sie vielleicht wissen, akzeptiert der Aufruf von save für ein ActiveRecord
-Modell Optionen, weil diese Methode hier von ActiveRecord::Validations
überschrieben wird:
Es bedeutet dasselbe wie bei einem Parameternamen: verschlingt alle verbleibenden Argumente. Außer, da es keinen Namen gibt, an den sie gebunden werden können, sind die Argumente nicht zugänglich. Mit anderen Worten: Es braucht eine beliebige Anzahl von Argumenten, ignoriert sie aber alle.
Beachten Sie, dass eine Möglichkeit ist, die Argumente zu verwenden: Wenn Sie super
ohne eine Argumentliste aufrufen, werden die Argumente unverändert an die Superklassenmethode weitergeleitet.
Tags und Links ruby ruby-on-rails