我的javascript文件中有以下代码,用于过滤我在rails中的表中的记录。
var dict = {
'columns' : {
'Sun': 5,
'Rain': [1,2,3]
}
}
返回
"columns%5BSun%5D=5&columns%5BRain%5D%5B%5D=1&columns%5BRain%5D%5B%5D=2&columns%5BRain%5D%5B%5D=3"
上面的代码可以正常运行,但它缺少Rain is null
。
无论如何,我可以在javascript中获得如下null
记录吗?
var dict = {
'columns' : {
'Sun': 5,
'Rain': [1,2,3,null]
}
}
返回
"columns%5BSun%5D=5&columns%5BRain%5D%5B%5D=1&columns%5BRain%5D%5B%5D=2&columns%5BRain%5D%5B%5D=3&columns%5BRain%5D%5B3%5D="
以上代码无效。
我想将'null'传递给Rails,以便从NULL
返回所有ActiveRecord
条记录。
提前致谢。
答案 0 :(得分:2)
我希望这就是你想要的
columns = params[:columns]
rain = columns[:Rain]
rain.each do |r|
if r.empty?
YourModel.where(:field => nil) # this query can differ
else
YourModel.where(:field => r.to_i) # this query can differ
end
end
答案 1 :(得分:0)
您可以使用javascript对象并将其添加到数组中。之后转换成json对象。
var Rain = new Array();
obj = new Object();
obj.value = 1;
Rain[0] = obj;
obj = new Object();
obj.value = 2;
Rain[1] = obj;
obj = new Object();
obj.value = null;
Rain[2] = obj;
dict = {
'columns' : {
'Sun': 5,
'Rain': Rain
}
}
JSON.stringify(dict);
//For converting to Query string use as follows
var result = $.param(dict);
var Rain = new Array();
obj = new Object();
obj.value = 1;
Rain[0] = obj;
obj = new Object();
obj.value = 2;
Rain[1] = obj;
obj = new Object();
obj.value = null;
Rain[2] = obj;
dict = {
'columns' : {
'Sun': 5,
'Rain': Rain
}
}
JSON.stringify(dict);
//For converting to Query string use as follows
var result = $.param(dict);