Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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 在rails中处理复杂的GET参数_Ruby On Rails_Ruby On Rails 3_Get_Form For_Ransack - Fatal编程技术网

Ruby on rails 在rails中处理复杂的GET参数

Ruby on rails 在rails中处理复杂的GET参数,ruby-on-rails,ruby-on-rails-3,get,form-for,ransack,Ruby On Rails,Ruby On Rails 3,Get,Form For,Ransack,我正试图通过使用ransack将参数通过GET传递到表单,它通常工作正常,但当我尝试合并它时,参数[:q]会导致问题 控制器(使用) 看法 如果没有q[],它将正确管理参数,覆盖上一个参数 还尝试了params[:q].merge(:genre\u name\u eq),当没有q[]时会出现问题,而且也不起作用,给我genre\u name\u eq=和没有q[] 我还可以如何处理q[]以使其替换值,而不是重复多次?编辑(编辑后) params是散列,而不是简单的查询字符串。如果要更新嵌套值,则

我正试图通过使用ransack将参数通过GET传递到表单,它通常工作正常,但当我尝试合并它时,参数[:q]会导致问题

控制器(使用)

看法

如果没有q[],它将正确管理参数,覆盖上一个参数

还尝试了
params[:q].merge(:genre\u name\u eq)
,当没有q[]时会出现问题,而且也不起作用,给我
genre\u name\u eq=
和没有q[]

我还可以如何处理q[]以使其替换值,而不是重复多次?

编辑(编辑后)

params
是散列,而不是简单的查询字符串。如果要更新嵌套值,则必须更新嵌套哈希

首先确保
params[:q]
存在并且是散列(在控制器中)

然后仅更新视图中的
q

<% params[:q].update :genre_name_eq => genre.name %>
<%= link_to genre.name, params %>
genre.name%>
编辑(编辑后)

params
是散列,而不是简单的查询字符串。如果要更新嵌套值,则必须更新嵌套哈希

首先确保
params[:q]
存在并且是散列(在控制器中)

然后仅更新视图中的
q

<% params[:q].update :genre_name_eq => genre.name %>
<%= link_to genre.name, params %>
genre.name%>

你能粘贴参数和参数。合并(:“q[genre\u name\u eq]”=>genre.name)吗?好的,更新了更多细节。你能粘贴参数和参数吗?合并(:“q[genre\u name\u eq]”=>genre.name)?好的,更新了更多细节。这对一组参数很有效,但是当与另一组参数一起使用时,说
q[record_format_name_eq]
它总是选择最后一个(类型),即使没有选择任何内容。这对于一组参数非常有效,但是当与另一组参数一起使用时,比如说
q[record_format_name_eq]
它总是选择最后一个(类型),即使没有选择任何内容。
q[genre_name_eq]=Rockabilly&q[genre_name_eq]=Rockabilly
params[:q] ||= {}
<% params[:q].update :genre_name_eq => genre.name %>
<%= link_to genre.name, params %>