Chiamare un metodo su un attributo in rotaie
-
26-10-2019 - |
Domanda
Sto lavorando su un tutorial e volevo imparare veramente deviando dal tutorial un po 'e sto incontrando alcuni problemi. Sto creando un'applicazione Showtime che elenca tutti i film, i tempi, i generi, ecc
Ho un modello filmato con il nome di attributi, genere, showtime, showdate, anno di pubblicazione, e il titolo. Nel mio file movie.rb, ho aggiunto un attr_accessor: genere in modo da poter utilizzare i metodi setter e getter, ma quando entro in console rotaie e creare un filmato con tutti gli attributi, il: genere continua ad emergere come "zero", ma quando chiamo il movie.genre, si tratta come il genere elencato corretto. Non sono sicuro perché?
Inoltre, poiché genere non è una classe, ci sono metodi che posso chiamare su di esso per elencare tutti i generi presenti nel database?
Grazie!
Soluzione
È di genere una colonna della tabella i film? Se sì, perché l'uso attr_accessor?
Per la seconda parte della tua domanda, si potrebbe scrivere un metodo di classe in movie.rb per elencare tutti i generi. Qualcosa di simile:
def self.genres
Movie.all.map(&:genre).uniq
end