代码之家  ›  专栏  ›  技术社区  ›  opsb

添加has的回调后

  •  4
  • opsb  · 技术社区  · 15 年前

    这似乎是“有多”和“有一”之间的不一致。

    has-many关联允许您指定在将对象添加到集合后调用的after-add回调。

    class Person
      has_many :parents, :after_add => { puts "Added new parent" } # allowed
      has_one :car, :after_add => { puts "Added car" } # not allowed
    end
    
    class Car
      after_create :assign_name
      def assign_name
        self.name = "Herbie"
      end
    end
    

    不幸的是,has-one关联没有后添加回调。你是如何实现同样的目标的?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Codebeef    15 年前

    before_save :do_something
    
    def do_something
      puts "Added car" if car_changed?
    end