Mam metodę, która musi pętli przez hash i sprawdź, czy każdy klucz istnieje w tabeli modeli, w przeciwnym razie usunie klucz/wartość.Jak sprawdzić, czy model ma określoną kolumnę/atrybut?
np
number_hash = { :one => "one", :two => "two" }
i tabeli numer ma tylko jedną kolumnę: tak: dwa zostaną usunięte.
Jak sprawdzić, czy model ma atrybut, czy nie?
Dla punktów bonusowych użyj 'Hash # select':' number_hash.select {| key, value | Number.column_names.include? key} ' – hgmnz
W Railsach 3.2+ użyj' number.has_attribute? ', które akceptuje symbol lub ciąg znaków –
Wierzę, że jeśli obiekt deleguje metodę do innego obiektu, ta metoda błędnie zasugeruje, że kolumna istnieje. Sprawdzałem swoje modele dla tych, które miały "użytkownika", ale musiałem zamiast tego szukać "user_id", ponieważ niektóre modele delegowały użytkownika. – MattyB