2017-02-16 1 views
1

Wenn Person eine Rails ActiveRecord-Klasse ist und name eine Tabellenspalte mit einem Zeichenfolgetyp ist, dann scheint Person#name? nicht zu entsprechen, ob name truthy ist oder nicht. Beispiel: Wenn name auf eine leere Zeichenfolge festgelegt ist, ist die Zeichenfolge truthy, aber name? gibt false mindestens für Rails 3.2.x zurück. Was bewirkt das Hinzufügen eines Fragezeichens?In Rails 'ActiveRecord: Was bewirkt ein Fragezeichen am Ende eines Methodennamens, der einer Spalte entspricht?

Ich habe versucht, nach diesem zu suchen, aber Fragezeichen sind nicht sehr googleable oder sogar symbolhoundable.

An answer to "Using question mark character in Rails/ActiveRecord column name" erwähnt, dass ActiveRecord automatisch Feldnamen (Feld?) Namen fügt, aber es gibt widersprüchliche Kommentare, was es tut.

Antwort

3

Es wird true zurückgegeben, wenn ein Feld present? oder nicht ist. Eine leere Zeichenfolge "" wird also false zurückgeben.

+1

Gibt es Unterlagen, die dies bestätigen? –

+0

Versucht es empirisch, und dies scheint der Fall zu sein. –

Verwandte Themen