ruby-on-rails - 事件记录 has_many :through remove one associated record

标签 ruby-on-rails activerecord has-many-through

这对我来说可能是一个非常基本的疏忽,但我似乎记不起一个简单的方法来删除通过 has_many :through 连接的两个对象之间的关联。 IE:

class Photo
  has_many :tags, :through => :taggings
  has_many :taggings, :dependent => :destroy
end

class Tags
  has_many :photos, :through => :taggings
  has_many :taggings, :dependent => :destroy
end

class Taggings
  belongs_to :photo
  belongs_to :tag
end

如果您有两个对象,标签照片,您可以通过执行以下操作将它们关联起来:

photo.tags << tag

那么,是否有一个同样简单的相反方法呢?即:

photo.tags.remove tag

最佳答案

这就是你想要的:

photo.tags.delete(tag)

关于ruby-on-rails - 事件记录 has_many :through remove one associated record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13216251/

相关文章:

php - CodeIgniter MySQL 查询不返回任何数据,即使肯定有数据要返回!

mysql - 如何通过 ruby​​ on Rails 中的联接表进行单个查询来检索与模型相关的对象

ruby-on-rails - 在将用户输入传递给 %x(执行它)之前,我应该如何清理用户输入?

mysql - 每组最大 n 个 rails ActiveRecord SQL

ruby-on-rails - Rails,根据条件对 `has_many :through` 关联使用不同的连接表

ruby-on-rails-3 - 轨道 3 : Has_many through and Me

ruby-on-rails - 如何在 has_many 的情况下通过 : association? 验证关联记录的存在

ruby-on-rails - 使用 Neo4j 的 Carrierwave 未将图像关联保存到数据库

ruby-on-rails - AWS Opsworks : How to deploy a particular git tag for an App?

sql - 如何每天从数据库中查询最多 2 条随机记录?