Rails传递字符串或哈希强参数

时间:2014-06-16 15:10:37

标签: ruby-on-rails strong-parameters

我可以指定使用字符串或散列

的强参数

我有一个端点,其有效负载可以是:

card: { number: "4111****", exp_year: "12"}

card: "some_encrypted_card"

在强参数中

如果我使用permit(:card)案例1不起作用 如果我使用require(:card).permit(:number, :exp_year)案例2不起作用

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以查询卡片参数以查看它返回的类型:

def card_params
  if params[:card].is_a? String
    params.permit(:card)
  else
    params.require(:card).permit(:number, :exp_year)
  end
end