Rails:切片中的数组元素除外

Usm*_*sif 3 ruby-on-rails

我有像这样的学生记录

{"id"=>"14", "first_name"=>"Donald", "last_name"=>"Trophy", "age"=>"13", "gender"=>"male", "cast"=>"black", "fee_status"=>"paid", "deleted_at"=>nil}

要将数据发送到 DataTable,我要取一些列

patient.slice('age', 'gender', 'cast', 'fee_status').values
Run Code Online (Sandbox Code Playgroud)

我有另一个来自某个流的数组,hidden_columns它可以具有以下值:

["age"]

["age", "gender"]

["31", "33", "age"]

["31", "gender", "33", "age"]

我想要except我拥有的价值观hidden_columns

我正在尝试的是:

patient.slice('age', 'gender', 'cast', 'fee_status').except(hidden_columns).values
Run Code Online (Sandbox Code Playgroud)

这对我不起作用。

Mar*_*iej 5

您必须在内部使用 splat 运算符,except因为它接受多个键作为参数,而不是一组键,

patient.slice('age', 'gender', 'cast', 'fee_status').except(*hidden_columns)
 => {"cast"=>"black", "fee_status"=>"paid"}
Run Code Online (Sandbox Code Playgroud)