Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使控制器操作可调整为多个散列参数_Ruby On Rails_Ruby On Rails 3_View_Hash_Controller - Fatal编程技术网

Ruby on rails 如何使控制器操作可调整为多个散列参数

Ruby on rails 如何使控制器操作可调整为多个散列参数,ruby-on-rails,ruby-on-rails-3,view,hash,controller,Ruby On Rails,Ruby On Rails 3,View,Hash,Controller,如果我在视图中检查多条记录,然后点击删除按钮, 将调用放弃操作 现在我一次只能删除(取消刷新)1条记录。 为什么即使我检查了多个记录,也不能一次删除所有记录 看法 路线 match 'messages/discard(/:id)' => 'messages#discard' , :as => :discard_messages 当有多个相同名称的输入时,最后一个“wins”-params[:id]将是最后提交的输入的值,因此只删除一条消息(通过检查params散列的值很容易看到)

如果我在视图中检查多条记录,然后点击删除按钮, 将调用放弃操作

现在我一次只能删除(取消刷新)1条记录。 为什么即使我检查了多个记录,也不能一次删除所有记录

看法

路线

match 'messages/discard(/:id)' => 'messages#discard' , :as => :discard_messages

当有多个相同名称的输入时,最后一个“wins”-
params[:id]
将是最后提交的输入的值,因此只删除一条消息(通过检查params散列的值很容易看到)

如果输入名称以
[]
结尾(即,在您的例子中,将名称设置为
id[]
),rails将把所有值收集到一个数组中

  def discard

      conversation = Conversation.find_all_by_id(params[:id])
    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
match 'messages/discard(/:id)' => 'messages#discard' , :as => :discard_messages