Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 创建后是否重定向ActiveAdmin?_Ruby On Rails_Ruby_Activeadmin - Fatal编程技术网

Ruby on rails 创建后是否重定向ActiveAdmin?

Ruby on rails 创建后是否重定向ActiveAdmin?,ruby-on-rails,ruby,activeadmin,Ruby On Rails,Ruby,Activeadmin,在activeadmin中,我想知道如何在创建记录后重定向到带有参数的url 到目前为止,除了'event_id'为空之外,我有以下代码可以工作 例如: 代码 它预示着: 而不是 提前谢谢 解决方案 解决方案是解析request.referer中的URL以获得所需的参数 controller do def create create! do |format| parameters = Rack::Utils.parse_query URI(request.

在activeadmin中,我想知道如何在创建记录后重定向到带有参数的url

到目前为止,除了'event_id'为空之外,我有以下代码可以工作

例如:

代码

它预示着:

而不是

提前谢谢

解决方案

解决方案是解析request.referer中的URL以获得所需的参数

  controller do
    def create
      create! do |format|
        parameters = Rack::Utils.parse_query URI(request.referrer).query
        format.html { redirect_to '/admin/events?q[espn_event_id_equals]='+ parameters['espn_event_id'].to_s }
      end
    end
  end

谢谢你的建议:

嗯,你的结构有点混乱。但我认为这很直截了当:

format.html { redirect_to admin_events_path(q[event_id_equals]: params[:event_id]) }
如果这不起作用,那可能是因为它无法读取q[event\u id\u equals]作为符号,在这种情况下,您应该尝试:admin\u events\u pathq[event\u id\u equals]=>params[:event\u id]

可能有更好的命名和控制方法,但这肯定会为您解决问题

对于active_admin 1.0.0.pre2:

format.html { redirect_to admin_events_path('q[event_id_eq]': params[:event_id]) }

嗯,你的结构有点混乱。但我认为这很直截了当:

format.html { redirect_to admin_events_path(q[event_id_equals]: params[:event_id]) }
如果这不起作用,那可能是因为它无法读取q[event\u id\u equals]作为符号,在这种情况下,您应该尝试:admin\u events\u pathq[event\u id\u equals]=>params[:event\u id]

可能有更好的命名和控制方法,但这肯定会为您解决问题

对于active_admin 1.0.0.pre2:

format.html { redirect_to admin_events_path('q[event_id_eq]': params[:event_id]) }

首先,尝试将参数键入符号,而不是字符串:

format.html { redirect_to '/admin/events?q[event_id_equals]='+ params[:event_id].to_s }

如果这不起作用,则意味着params[:event_id]很可能为nil。因为nil.to_s是一个空字符串,所以您看不到任何附加到指定路径的内容

首先,尝试将参数键入符号,而不是字符串:

format.html { redirect_to '/admin/events?q[event_id_equals]='+ params[:event_id].to_s }

如果这不起作用,则意味着params[:event_id]很可能为nil。因为nil.to_s是一个空字符串,所以您看不到任何附加到指定路径的内容

你找到解决办法了吗?下面的答案有用吗?谢谢,解决方案已经发布:你找到解决这个问题的方法了吗?下面的答案有用吗?谢谢,解决方案已经发布:对于active\u admin 1.0.0.pre2,参数应该是'q[event\u id\u eq]'。对于active\u admin 1.0.0.pre2,参数应该是'q[event\u id\u eq]'。
format.html { redirect_to '/admin/events?q[event_id_equals]='+ params[:event_id].to_s }