3 Stimmen

Typecasting einer benutzerdefinierten Spalte in rails ActiveRecord?

Nehmen wir an, wir tun es:

default_scope :select => '*, 1+1 AS woah'

in einem Modell, können wir dann auf woah als Methode des Modells zugreifen, aber es ist eine Zeichenkette. Wie können wir dies typisieren, so dass es eine ganze Zahl ist?

In meinem realen Beispiel wähle ich tatsächlich eine ID aus einer verknüpften Tabelle aus, aber sie wird als Zeichenfolge eingegeben. Ich brauche es, um eine Ruby-Integer sein.

6voto

John Topley Punkte 110122

Wie wäre es mit der Verwendung eines schreibgeschützten virtuellen Attributs in Ihrem Modell?

default_scope :select => '*. 1+1 AS raw_woah'

def woah
  raw_woah.to_i
end

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X