Schreibe eine einfache bedingte Anweisung in IRB
-
26-09-2019 - |
Frage
Ich bin auf der Suche alle Organisationen mit der URL auf „http: //“., Und die Aktualisierung ihrer Attribute auf „“
Mein Versuch:
Organization(:all).select { |o| o.url = "http://" ? o.update_attribute("url","")}
Welche einen Compiler-Fehler zurückgibt:
SyntaxError: compile error
(irb):2: syntax error, unexpected '}'
from (irb):2
Irgendwelche Ideen?
Lösung
Versuchen update_all
mit
Organization.update_all("url = ''", ["url =?",'http://'])
Andere Tipps
Ich bin keineswegs ein Rubin-Experte, aber mein erster Verdacht ist, dass Sie einen Zuweisungsoperator (=) statt einen Gleichheitsoperator (==) verwenden. Eine schnelle Google-Suche nach „ruby irb bedingten“ scheint dies zu beweisen.
Und Sie wahrscheinlich die unten Stimme bekam, weil Sie nicht Kompilierungsfehlern in Ihrer Frage enthalten. Wenn meine Vermutung falsch ist, kann ich nicht einmal Hilfe versuchen, die Fehlermeldung zu interpretieren, weil Sie es nicht vorsah.
UPDATE: basierend auf dem ersten Kommentar zu der Antwort, glaube ich, mein erster Verdacht, falsch zu sein - eine Fehlinterpretation der Absicht der Codezeile. Aber dann, das ist, was passiert, wenn Fehlermeldungen sind nicht availble.
UPDATE2: ersten Kommentar nicht da ... vielleicht war es gelöscht oder vielleicht habe ich angefangen Eingabe der falschen Stelle ...