обратный вызов before_add с использованием nested_attributes - PullRequest
1 голос
/ 19 сентября 2009

Учитывая следующее:

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.

1 Ответ

1 голос
/ 19 сентября 2009

Ух ты, должно быть, устала:

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), но это тоже не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...