小编RFC*_*337的帖子

删除has_many:通过关联不会更改模型的updated_at属性

我很难获得updated_at专栏来更新赌场模型,通过CasinoAmenity提供has_many设施.添加便利设施时,赌场的updated_at列会正确更新,但在删除时则不会.

这是我的(简化)模型:

casino.rb

class Casino < ActiveRecord::Base
  has_many :amenity_casino, :dependent => :destroy
  has_many :amenities, :through => :amenity_casino
end
Run Code Online (Sandbox Code Playgroud)

amenity_casino.rb

class AmenityCasino < ActiveRecord::Base
  belongs_to :casino, :touch => true
  belongs_to :amenity, :touch => true
end
Run Code Online (Sandbox Code Playgroud)

amenity.rb

class Amenity < ActiveRecord::Base
  has_many :amenity_casinos, :dependent => :destroy
  has_many :casinos, :through => :amenity_casinos
end
Run Code Online (Sandbox Code Playgroud)

现在到控制台.检查初始updated_at时间.

> Casino.find(5).updated_at
=> Wed, 30 Jan 2013 00:30:04 UTC +00:00
Run Code Online (Sandbox Code Playgroud)

为赌场添加便利设施.

> Casino.find(5).amenities << Amenity.first
=> [#<Amenity id: 1, name: "asdf", weight: "", created_at: "2012-11-10 02:29:14", updated_at: "2013-01-30 01:29:14", …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3.2 rails-activerecord

7
推荐指数
1
解决办法
1290
查看次数