ruby-on-rails-4 - 带有 has_many :through associations 的轨道触摸链

标签 ruby-on-rails-4 associations

使用连接模型,在此示例设置中使用 has_many :through

class Collage
 has_many :arrangements
 has_many :photos, through: :arrangements

class Photo
 has_many :arragements
 has_many :collages, through: :arragements
end

class Arragement
belongs_to :photo
belongs_to _collage
end

照片可能会改变尺寸,这会导致拼贴改变

使用 touch: true 不会以这种方式工作,因为链不是“单向向上”,因为 arragement 指向 Photo 拼贴画

我怎样才能使照片更改(即触摸)也能触摸到它的拼贴画?

最佳答案

这是一个更短的版本:

class Photo
  has_many :arragements
  has_many :collages, through: :arragements

  after_save { collages.find_each(&:touch) }
end

关于ruby-on-rails-4 - 带有 has_many :through associations 的轨道触摸链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29215109/

相关文章:

ruby-on-rails - 作为跟随者设置

javascript - 在 React 组件中使用 ajax 获取实时更新的数据

ruby-on-rails - 只属于属于属于关联没有 has_many 或 has_one

java - Java中的类聚合关系只能通过实例对象来实现吗?

ruby-on-rails - 在 Ruby on Rails 中声明关联

javascript - 通过表单保存模型后重新渲染 Rails 部分

ruby-on-rails - 我如何在 rails 中使外键/主键不区分大小写

ruby-on-rails - Ruby on Rails 重复列名 : user_id: ALTER TABLE "articles" ADD "user_id" integer

PHP Doctrine : how to set refClass extra columns?

php - 在 CakePHP 3.x 中保存 HasMany 关联数据