1

以下を考えると:

Foo has_many :bars, :through => :baz

Foo accepts_nested_attributes_for :bar

find_or_create_by_name新しい を追加するときにを実行したいのですが、:barどこに何らかのbefore_add機能を追加できるかわかりません。

この質問の背景は、既存のものを使用しBar validates_uniqueness_of :nameて新しいものを作成しようとするとエラーが発生することです。FooBar

4

1 に答える 1

0

うわー私は疲れているに違いない:

class Foo < ActiveRecord::Base
  has_many :bars, :through => :baz, :before_add => :some_callback

  def some_callback(b)
    #whatnot
  end
end

しかし、それでも、そのsome_callback部分では、何をすべきか? 私は次のようなことを試しましb = Bar.find_or_create_by_name(b.name)たが、それもうまくいきません。

于 2009-09-18T20:33:48.837 に答える