Rails,销毁与删除?

AnA*_*ice 5 ruby-on-rails ruby-on-rails-3

为什么这样做:

@poll_votes = PollVote.where(:user_id => self.user_id, :poll_id => self.poll_id).all

@poll_votes.each do |p|
  p.destroy
end
Run Code Online (Sandbox Code Playgroud)

但这不是吗?

@poll_votes = PollVote.where(:user_id => self.user_id, :poll_id => self.poll_id).destroy
Run Code Online (Sandbox Code Playgroud)

Fre*_*red 15

where方法返回符合选择条件的可枚举的activerecord对象集合.在该集合上调用destroy方法与在单个activerecord对象上调用destroy方法不同.

  • @AnApprentice,你没有要求解决方案,你问为什么有些东西不起作用,弗雷德给了你很好的解释,所以他的答案可以被接受. (4认同)

小智 10

这应该工作:PollVote.destroy_all(:user_id => self.user_id,:poll_id => self.poll_id)