Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 RubyonRails-多重编辑_Ruby On Rails_Redirect - Fatal编程技术网

Ruby on rails RubyonRails-多重编辑

Ruby on rails RubyonRails-多重编辑,ruby-on-rails,redirect,Ruby On Rails,Redirect,做了一个关于如何从一个选择中进行多次编辑的很好的教程。但我想在此基础上再接再厉。如果我想执行更多操作(编辑和销毁),该怎么办?这类似于Gmail在邮件上执行不同操作的能力 我创建了我的表单,我有一个操作的下拉菜单。表单转到我的控制器中的一个动作,该动作应该将表单重定向到正确的动作(编辑vs销毁)。我正在尝试使用并传递我的参数,但它无法正常工作 def action if params[:perform_action] == 'edit' redirect_to :action =&g

做了一个关于如何从一个选择中进行多次编辑的很好的教程。但我想在此基础上再接再厉。如果我想执行更多操作(编辑和销毁),该怎么办?这类似于Gmail在邮件上执行不同操作的能力

我创建了我的表单,我有一个操作的下拉菜单。表单转到我的控制器中的一个动作,该动作应该将表单重定向到正确的动作(编辑vs销毁)。我正在尝试使用并传递我的参数,但它无法正常工作

def action
  if params[:perform_action] == 'edit'
    redirect_to :action => 'edit_multiple', :structure_ids => params[:structure_ids]
  elsif params[:perform_action] == 'destroy'
    redirect_to destroy_multiple_structures_path, :structure_ids => params[:structure_ids]
  end
end
但这不能正常工作。我的编辑倍数实际上被重定向到“显示”操作。即使我已经在我的路线和所有设置了它

如何正确地传递参数?或者这是一个传递方法的问题(如果是,我该如何改变它?) 或者正确的方法是什么(如果不是这样的话)

我很累,但没用


我正在routes.rb中使用一个集合,但我不知道如何将重定向_更改为发布帖子。有什么想法吗?

好的,所以我似乎不知道如何在重定向到中获取要更改的方法,也不知道如何正确传递参数。因此,我“欺骗”并使用jQuery更改表单本身的操作:

$("#action").change(function(e){
    var changeTo = $(e.target);
    var value = changeTo.attr("value");
    if(value == 'edit'){
        $("form").attr("action","/myController/edit_multiple");
        $("form").attr("method","POST");
    }
    if(value == 'destroy'){
        $("form").attr("action","/myController/destroy_multiple");
        $("form").attr("method","DELETE");

    }
});

它没有经过优化,但可以工作。action是select标记的id。希望这对其他人有所帮助。

仅供参考-这里的update\u all或delete\u all是您的朋友。

类似Gmail的删除、存档等功能不需要表单,因此只需创建一个按钮或链接,即可使用所需功能。
您只需要一个表单来更改内容。

此外,我有一个编辑多个结构的路径,但我不知道如何传递参数。