代码之家  ›  专栏  ›  技术社区  ›  Sam å±±

Rails:如何对未更新但与更新的模型相关的模型执行回调

  •  0
  • Sam å±±  · 技术社区  · 14 年前

    对于Kis,我有两种型号: Reservations Containers .

     Container 
     has_many :reservations
    
     Reservation
     belongs_to :container
    

    当我更新预订时,我还希望对相应的容器执行回调。

    做这件事的好方法是什么?

    我应该使用嵌套的REST路由,将容器逻辑放在预订模型中,还是其他什么方法

    1 回复  |  直到 14 年前
        1
  •  1
  •   Harish Shetty    14 年前

    Rails有一个名为 touch .

    class Reservation < ActiveRecord::Base
      belongs_to :container, :touch => true
    end
    

    Rails更新 updated_at 领域 Container 对象 Reservation 对象更改。如果你有回电 集装箱 类,当 预订 对象更改。

    class Container < ActiveRecord::Base
      has_many :reservations
      after_update :reservation_change
    
      def reservation_change
        # handle the updates..
      end
    end