Ho un metodo che deve scorrere un hash e controllare se ciascuna chiave esiste in una tabella di modelli, altrimenti cancellerà la chiave/valore.Come verificare se un modello ha una determinata colonna/attributo?
ad esempio
number_hash = { :one => "one", :two => "two" }
e la tabella numero ha solo: una colonna in modo da: due saranno eliminati.
Come si verifica se un modello ha o meno un attributo?
Per i punti bonus usare 'Hash # select':' number_hash.select {| chiave, valore | Number.column_names.include? chiave} ' – hgmnz
In Rails 3.2+, usare' number.has_attribute? 'che accetta un simbolo o una stringa –
Credo che se un oggetto delega un metodo a un altro oggetto, questo metodo suggerirà erroneamente che la colonna esista. Stavo controllando i miei modelli per quelli che avevano un 'utente', ma dovevo invece cercare' user_id' dato che alcuni modelli hanno delegato l'utente. – MattyB