0

我正在使用Mailboxer宝石。

检查行,视图传递多个 ID,但此操作仅在接收参数时丢弃第一个 ID# 的记录。

我需要做什么来丢弃与参数中传递的 ID 对应的所有记录?

参数

{"utf8"=>"✓",
 "authenticity_token"=>"35UoVt+dvwrGAgg+KZjn8jCZjlkdPj1ktCg5ASyCI4w=",
 "checked_items"=>{"15"=>"15",
 "14"=>"14"},
 "commit"=>"Trash All Checked"}

行动

def discard

  conversation = Conversation.find_by_id(params[:checked_items].keys)

  if conversation

    current_user.trash(conversation)

    flash[:notice] = "Message sent to trash."

  else

    conversations = Conversation.find(params[:conversations])

    conversations.each { |c| current_user.trash(c) }

    flash[:notice] = "Messages sent to trash."

  end

  redirect_to :back

end
4

1 回答 1

0

而不是 find_by_id 使用 find_all_by_id ,您将获得所有对话,然后一一丢弃。

于 2012-07-10T06:52:21.737 回答