Scrivendo una semplice dichiarazione condizionale in IRB
-
26-09-2019 - |
Domanda
Non vedo tutte le organizzazioni con l'URL "http: //"., E aggiornando i loro attributi a ""
Il mio tentativo:
Organization(:all).select { |o| o.url = "http://" ? o.update_attribute("url","")}
che restituisce un errore di compilazione:
SyntaxError: compile error
(irb):2: syntax error, unexpected '}'
from (irb):2
Tutte le idee?
Soluzione
Prova a usare update_all
Organization.update_all("url = ''", ["url =?",'http://'])
Altri suggerimenti
Sono in alcun modo un esperto di rubino, ma il mio primo sospetto è che si sta utilizzando un operatore di assegnazione (=) al posto di un operatore di uguaglianza (==). Una rapida ricerca su Google per "ruby IRB condizionale" appare per dimostrare questo.
E probabilmente ottenuto il voto basso perché non si ha incluso gli errori di compilazione nella sua interrogazione. Se la mia ipotesi è sbagliato, non posso nemmeno aiuto cercare di interpretare il messaggio di errore, perché non hai fornirlo.
UPDATE: sulla base del primo commento alla risposta, credo che il mio primo sospetto di essere sbagliato - una cattiva interpretazione del l'intento della riga di codice. Ma, allora, questo è quello che succede quando i messaggi di errore non sono availble.
UPDATE2: primo commento non c'è ... forse è stato eliminato o forse ho iniziato a digitare nel posto sbagliato ...