需要散列数组中的属性而不在Rails中循环

时间:2017-02-28 03:41:46

标签: ruby-on-rails arrays ruby hashmap require

在Rails 4.2中,我想验证作为参数传递给我的动作的数组的每个哈希都有某些属性。

现在我只能找到如何过滤掉不需要的属性,例如:

ActionController::Parameters.new(
    points: [{lat: 42, foo: 0}, {lng: 43, bar: 100}]
).permit(
    points: [:lat, :lng]
)
# => {"points"=>[{"lat"=>42}, {"lng"=>43}]}

我想要做的是确保points的每个成员同时拥有latlng,而不必循环遍历它。这可能是使用permit或类似的方法吗?

1 个答案:

答案 0 :(得分:0)

有一种名为int Quantity; if(int.TryParse(box1.Text, out Quantity)) // continue with the value of Quantity else box1.Text = "Invalid input"; 的方法与require具有相同的签名:

permit

请注意,您可以使用params.require(:lat, :lng)

进行链接

此外,您可以在params哈希上使用permitselect,无论如何,安全参数主要是糖。

reject