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?

È stato utile?

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 ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top