Quando utilizzare il metodo di classe composed_of
di ActiveRecord?composto da Rails - quando usarlo?
risposta
personalmente, penso che questo sia utile quando si hanno oggetti che non sono memorizzati nel database, come mostrato nel database, ad es. temperatura, posizione GPS, equilibrio, ecc.
Si potrebbe quindi chiedere perché quelli non vengono memorizzati nel database? Nel database memorizziamo solo un valore, ma se vogliamo allegare metodi pertinenti e pertinenti a tale valore,
per es.
nel caso di temperatura, potremmo bisogno di metodi come
to_fahrenheit
,to_celsius
,is_boiling_point?
, eccnel caso della posizione GPS, potremmo bisogno di metodi come
distance_from(point)
,route_to(point)
, ecc
quindi è abbastanza utile quando possiamo semplicemente creare le classi per questi oggetti e utilizzare composed_of per inizializzare questi oggetti al volo
Speranza che aiuta =)
Così composto_di inizializza l'oggetto che esce dal db. Puoi assegnare lo stesso oggetto ENTRANDO nel db? obj.temperature = my_temp_obj. E se sì, quale metodo chiama sul valore obj per convertirlo nel formato db, essere int, varchar, ecc? – pixelearth
hi @pixelearth, come detto, i valori non sono memorizzati nel database =) – Staelen
Un esempio più complesso di come utilizzare composed_of
con Money:
composed_of :price,
:class_name => "Money",
:mapping => [%w(cents cents), %w(currency currency_as_string)],
:constructor => Proc.new { |cents, currency| Money.new(cents || 0, currency || Money.default_currency) },
:converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, "Can't convert #{value.class} to Money") }
Fonte: github wiki.
- 1. @ModelAttribute annotazione, quando usarlo?
- 2. dropdownlist DataTextField composto da proprietà?
- 3. Cos'è Request.InputStream e quando usarlo?
- 4. cos'è ICustomTypeDescriptor e quando usarlo?
- 5. Come utilizzare "ordine composto da" in sqlalchemy
- 6. prologo ottenere un termine da un composto
- 7. Tavolo unico eredità e dove usarlo in Rails
- 8. polimorfico_allocatore: quando e perché dovrei usarlo?
- 9. SignInManager, che cos'è e come, quando usarlo?
- 10. spiegazione di D_GNU_SOURCE Perché usarlo e quando?
- 11. Che cos'è __declspec e quando devo usarlo?
- 12. Che cos'è la delega? Quando dovrei usarlo?
- 13. viewview android viewview. quando usarlo, e quando non su
- 14. Come compilare il programma Go composto da più file?
- 15. Composto Django/nidificato/sottomodifiche?
- 16. MySQL tronca l'indice univoco composto da 64 caratteri
- 17. Indice composto MySQL non utilizzato
- 18. Che cos'è un mock e quando dovresti usarlo?
- 19. join function di un array numpy composto da stringa
- 20. Numero casuale composto da 4 cifre in C#
- 21. Android Fare un XML disegnabile composto da diverse immagini bitmap
- 22. Come strutturare un repository composto da diverse librerie e applicazioni
- 23. Utilizzo di NSFileWrapper in NSDocument composto da vari file
- 24. MongoDB $ nell'indice operatore e composto
- 25. cosa non ha scope scope e quando usarlo?
- 26. Composto Selezionare utilizzando l'espressione lambda
- 27. ActionBarCompat - come usarlo
- 28. Differenza tra id e class in CSS e quando usarlo
- 29. ResolvedParameter in Unity. Qualcuno può spiegare quando usarlo?
- 30. Che cos'è un MvcHtmlString e quando dovrei usarlo?
C'è un bell'esempio nei commenti di quella pagina. – ryeguy
@ryeguy, grazie, leggere quello prima di pubblicare ma non dimostra o discute di dove trarrete vantaggio. (Manca la vista di livello superiore.) – fig
Hai letto questo http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html? – Corey