如何删除尚未保存父对象的has_many对象

时间:2010-09-25 10:07:16

标签: ruby-on-rails

我的@activity是has_many:clientships

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

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

该集合如下所示:

@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,>
]

我试过的示例代码不起作用(更不用说低效):

@activity.clientships.map {|o| o.delete if o.client_id==24 }

1 个答案:

答案 0 :(得分:2)

@activity.clienships.delete_if{|o| o.client_id == 24}