callback before_add à l'aide de nested_attributes
-
22-07-2019 - |
Question
Étant donné ce qui suit:
Foo has_many: bars,: through = > : baz
et
Foo accepte_attributs_autorités_pour: barre
Je veux faire un find_or_create_by_name
lorsque j'ajoute un nouveau : bar
, mais je ne sais pas où je peux avoir une sorte de before_add
fonctionnalité.
Le fond de cette question est Bar. validates_uniqueness_of: name
, ce qui génère des erreurs lorsque j'essaie de créer un nouveau Foo
utilisant un Bar existant
.
La solution
Wow je dois être fatigué:
class Foo < ActiveRecord::Base
has_many :bars, :through => :baz, :before_add => :some_callback
def some_callback(b)
#whatnot
end
end
Mais encore, dans la partie some_callback
, que faire? J'ai essayé des choses comme b = Bar.find_or_create_by_name (b.name)
mais cela ne fonctionne pas non plus.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow