Ruby on Rails: la mejor manera de unir dos modelos que corresponden uno a uno
-
19-09-2019 - |
Pregunta
Si tengo dos modelos que están garantizados para tener una correspondencia uno a uno, es decir, si se crea uno, siempre necesitaré el otro, y si uno se elimina, también querré deshacerme del otro, qué es lo que es. ¿La mejor manera de unirlos?
Veo que el método Has_One/Perteners_TO: Dependiente se encarga de las deleciones, pero no veo ningún método similar para cuidar la creación.
Parece que hay muchas opciones sobre dónde podría quedarme en la creación del submodelo, ¿cuál es el mejor enfoque para esto?
Solución
Puede crear el objeto relacionado manualmente usando antes_create llamar de vuelta:
class Person < ActiveRecord::Base
before_create :create_address
validates_presence_of :address
private
def create_address
address = Address.new
end
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow