Ruby on rails 如何删除多个尚未保存父对象的对象

Ruby on rails 如何删除多个尚未保存父对象的对象,ruby-on-rails,Ruby On Rails,我有一个有很多客户的活动 创建一个新对象时,我分配了几个Clientship对象,但在保存之前,用户希望选择一些要删除的对象 如何根据用户定义的客户端id删除以下Clientship对象之一 集合如下所示: @activity.clientships [ #<Clientship id: nil, client_id: 1770>, #<Clientship id: nil, client_id: 24>, #<Clientship id: nil, c

我有一个有很多客户的活动

创建一个新对象时,我分配了几个Clientship对象,但在保存之前,用户希望选择一些要删除的对象

如何根据用户定义的客户端id删除以下Clientship对象之一

集合如下所示:

@activity.clientships [
  #<Clientship id: nil, client_id: 1770>,
  #<Clientship id: nil, client_id: 24>,
  #<Clientship id: nil, client_id: 25>,
  #<Clientship id: nil, client_id: 2181,>
]

此客户端是否已保存到db?或者它只是存在于表单中?存在于表单中,因为它们是新记录
@activity.clientships.delete(24)
应该可以做到这一点。我还建议您在
#销毁
#删除
之间仔细选择。如果您想保留回调调用,只需使用
#destroy
@activity.clientships.destroy(24)
还要注意,这也适用于ActiveRecord对象:
client=client.find(24)
@activity.clientships.destroy(client)
@activity.clientships.map {|o| o.delete if o.client_id==24 }
@activity.clienships.delete_if{|o| o.client_id == 24}