devolución de llamada before_add usando atributos_nidos
-
22-07-2019 - |
Pregunta
Dado lo siguiente:
Foo has_many: bars,: through = > : baz
y
Foo accept_nested_attributes_for: bar
Quiero hacer un find_or_create_by_name
cuando agrego un nuevo : bar
, pero no sé dónde puedo tener algún tipo de before_add funcionalidad.
El fondo de esta pregunta es Bar validates_uniqueness_of: name
, que genera errores cuando intento crear un nuevo Foo
que está usando una barra existente .
Solución
Wow, debo estar cansado:
class Foo < ActiveRecord::Base
has_many :bars, :through => :baz, :before_add => :some_callback
def some_callback(b)
#whatnot
end
end
Pero aún así, en la parte some_callback
, ¿qué hacer? He intentado cosas como b = Bar.find_or_create_by_name (b.name)
pero eso tampoco funciona.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow