Jquery 从Ruby on Rails中的嵌套参数获取值

Jquery 从Ruby on Rails中的嵌套参数获取值,jquery,ruby-on-rails,ruby,datatables,Jquery,Ruby On Rails,Ruby,Datatables,我将jquerydatatables插件与rubyonrails结合使用,在检索嵌套参数上的值时遇到问题 当我试图使用 puts params.inspect 我的控制台里有以下内容 Parameters: {"draw"=>"1", "columns"=>{"0"=>{"data"=>"0", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=

我将jquerydatatables插件与rubyonrails结合使用,在检索嵌套参数上的值时遇到问题

当我试图使用

puts params.inspect
我的控制台里有以下内容

Parameters: {"draw"=>"1", "columns"=>{"0"=>{"data"=>"0", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}, "1"=>{"data"=>"1", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, "2"=>{"data"=>"2", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, "3"=>{"data"=>"3", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, "4"=>{"data"=>"4", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}}, "order"=>{"0"=>{"column"=>"1", "dir"=>"asc"}}, "start"=>"0", "length"=>"10", "search"=>{"value"=>"", "regex"=>"false"}, "_"=>"1438662290344"}
{"0"=>{"column"=>"1", "dir"=>"asc"}}
我想从:order中获取值,我将代码更改为如下所示

puts params[:order].inspect
然后我在控制台中得到了以下信息

Parameters: {"draw"=>"1", "columns"=>{"0"=>{"data"=>"0", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}, "1"=>{"data"=>"1", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, "2"=>{"data"=>"2", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, "3"=>{"data"=>"3", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, "4"=>{"data"=>"4", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}}, "order"=>{"0"=>{"column"=>"1", "dir"=>"asc"}}, "start"=>"0", "length"=>"10", "search"=>{"value"=>"", "regex"=>"false"}, "_"=>"1438662290344"}
{"0"=>{"column"=>"1", "dir"=>"asc"}}
我想得到“dir”=>“asc”的值,我尝试了以下代码,但仍然没有成功

puts params[:order][0][:dir].inspect
puts params["order"][0]["dir"].inspect

任何建议都将不胜感激,谢谢。

您首先需要将参数散列格式设置为您能够实际看到结构的格式。像这样:

{
    "draw"=>"1", 
    "columns"=>{
         "0"=>{"data"=>"0", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "1"=>{"data"=>"1", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "2"=>{"data"=>"2", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "3"=>{"data"=>"3", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "4"=>{"data"=>"4", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}
   }, 
   "order"=>{
       "0"=>{"column"=>"1", "dir"=>"asc"}}, 
       "start"=>"0", 
       "length"=>"10", 
       "search"=>{"value"=>"", "regex"=>"false"}, 
    "_"=>"1438662290344"}
}
现在很清楚了:您有字符串作为键,也有数字,您应该使用以下命令获得所需的信息:

params["order"]["0"]["dir"]

您首先需要以能够实际看到结构的方式格式化params散列。像这样:

{
    "draw"=>"1", 
    "columns"=>{
         "0"=>{"data"=>"0", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "1"=>{"data"=>"1", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "2"=>{"data"=>"2", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "3"=>{"data"=>"3", "name"=>"", "searchable"=>"true", "orderable"=>"true", "search"=>{"value"=>"", "regex"=>"false"}}, 
         "4"=>{"data"=>"4", "name"=>"", "searchable"=>"false", "orderable"=>"false", "search"=>{"value"=>"", "regex"=>"false"}}
   }, 
   "order"=>{
       "0"=>{"column"=>"1", "dir"=>"asc"}}, 
       "start"=>"0", 
       "length"=>"10", 
       "search"=>{"value"=>"", "regex"=>"false"}, 
    "_"=>"1438662290344"}
}
现在很清楚了:您有字符串作为键,也有数字,您应该使用以下命令获得所需的信息:

params["order"]["0"]["dir"]

试试这个<代码>把PARAM[[订单] ] [[ 0 ] ] [DIr ]检查。这个代码<代码>放置PARAM[[订单] ] [ [ DIR ] ] < /代码>?尝试<代码> [[订单] ] /[代码]。尝试此代码>放置PARAM[ [订单] ] [ [ 0 ] ] [检查] <代码> > PARAMS [ [订单] ] [ [ DIR ] ] < /代码>考虑“<代码> 0”<代码>是另一个比<代码> 0 > /代码> @ PavaN发布的键。试试
[:order][“0”]
。好的,它现在可以工作了,谢谢大家的帮助,非常感谢。@bernie_wids解决方案是什么?@sschmeck起初我把代码放在控制器中,但总是返回nil,然后我按照这个方法,为datatables创建了一个新的库,然后它就可以得到
参数[“order”][“0”][“dir”]
好的,它现在可以工作了,谢谢大家的帮助,非常感谢。@bernie_wids解决方案是什么?@sschmeck起初我把代码放在控制器中,但总是返回nil,然后我按照这个方法,为数据表创建了新的库,然后它就可以得到
参数[“order”][“0”][“dir”]的值。