根据Rails API ActionController::Parameters#delete
从密钥等于key的
Parameters
中删除并返回键值对。如果未找到密钥,则返回默认值。如果给出了可选的代码块并且找不到密钥,则传入密钥并返回块的结果。
然而,当我从轨道上的班级中提取参数并做了一个
.class
,它会返回Array
而不是Hash
。
def create
@var = myClass.new(param_function.except(:param1))
weird = param_function.delete(:param5)
puts weird.class
end
def param_function
params.require(:my_class).permit(
:param1,
:param2,
:param3,
:param4,
:param5 => []
)
end
delete,应返回密钥为param5
且值为array
的哈希值,因此weird
应为哈希值。但是,它会将数组作为结果。