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,当我尝试创建一个Foo使用现有Bar.

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 回答