callback before_add usando nested_attributes
-
22-07-2019 - |
Domanda
Dato quanto segue:
Foo has_many: bars,: through = > : Baz
e
Foo accetta_nested_attributes_for: bar
Voglio fare un find_or_create_by_name
quando aggiungo un nuovo : bar
, ma non so dove posso avere una sorta di before_add funzionalità.
Lo sfondo di questa domanda è Bar validates_uniqueness_of: name
, che fornisce errori quando provo a creare un nuovo Foo
che utilizza una Bar
.
Soluzione
Wow, devo essere stanco:
class Foo < ActiveRecord::Base
has_many :bars, :through => :baz, :before_add => :some_callback
def some_callback(b)
#whatnot
end
end
Ma ancora, nella parte some_callback
, cosa fare? Ho provato cose come b = Bar.find_or_create_by_name (b.name)
ma neanche questo funziona.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow