繁体   English   中英

重命名强参数 rails 5

[英]rename strong parameters rails 5

我在将第三方响应映射到我的服务器时遇到问题

回应是

"id": ".....",
"external_id": "....",
"recurring_payment_id": "....",
"is_high": ...,
"payment_method": "...",

我将我的强大参数设置为

def invoice_params
 params
  .require(:invoice)
  .permit({id: :invoice_id}, :external_id, :recurring_payment_id,
           :payment_method)
end

我想将 id 重命名为 invoice_id

但我得到一个错误Unpermitted parameter: :id

我相信强参数不支持你所做的。 您需要通过重命名 params 键来解决它。

使用alias有一种更简单的方法,但请谨慎使用。 将此添加到您的课程中。

alias_attribute :id, :invoice_id

编辑:交换订单,因为invoice_id是数据库中的属性

    params[:id] = params.delete(:invoice_id)
    params.permit(:id)

或者

    params[:invoice][:id] = params[:invoice].delete(:invoice_id)
    params.require(:invoice).permit(:id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM