0

私はMailboxer宝石を使用しています。

行がチェックされ、ビューは複数のIDを渡しますが、このアクションは、パラメーターを受け取ったときに1番目の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を使用すると、すべての会話が取得され、1つずつゴミ箱に移動されます。

于 2012-07-10T06:52:21.737 に答える