Ruby on rails 更改Rails中质量分配的条带参数键

Ruby on rails 更改Rails中质量分配的条带参数键,ruby-on-rails,ruby,stripe-payments,Ruby On Rails,Ruby,Stripe Payments,我正在将Stripe集成到Rails应用程序中。现在Stripe Checkout返回一个带有键值对的params散列,如下所示: "stripeShippingAddressZip"=>"80205" 及 我还有一个名为order_params的方法,它调用params.permit来防止大规模分配漏洞 我想做以下几点: 当前用户.订单.生成(订单参数) 基本上是质量分配 但是,我的订单型号具有类似配送_-zip的属性,而不是stripeshippingaddress-zip 如果散列

我正在将Stripe集成到Rails应用程序中。现在Stripe Checkout返回一个带有键值对的params散列,如下所示:

"stripeShippingAddressZip"=>"80205"

我还有一个名为
order_params
的方法,它调用
params.permit
来防止大规模分配漏洞

我想做以下几点:

当前用户.订单.生成(订单参数)

基本上是质量分配

但是,我的
订单
型号具有类似
配送_-zip
的属性,而不是
stripeshippingaddress-zip

如果散列键与模型的属性不匹配,如何使用params散列并仍然进行批量分配


有没有“Rails方法”可以做到这一点?

有多种方法可以做到这一点,但我喜欢这样做映射:

def order_params
  {
    shipping_zip: params[:stripeShippingAddressZip],
    # more here
  }
end
在此之后,您只需执行以下操作:

Orders.create(order_params)

我希望这有帮助

有多种方法可以做到这一点,但我喜欢这样做:

def order_params
  {
    shipping_zip: params[:stripeShippingAddressZip],
    # more here
  }
end
在此之后,您只需执行以下操作:

Orders.create(order_params)

我希望这有帮助

您是否可以将其添加到与params.permit相同的方法中?或者作为参数许可证的替代品?这是许可证的一种方式。当发送的名称响应正确并且我们只需要允许它们时,使用Permit。在这里,我们必须允许和重命名。因此,这是一个替代方案。@Jesser如果解决了您的问题,您可以接受答案!您是否可以将其添加到与params.permit相同的方法中?或者作为参数许可证的替代品?这是许可证的一种方式。当发送的名称响应正确并且我们只需要允许它们时,使用Permit。在这里,我们必须允许和重命名。因此,这是一个替代方案。@Jesser如果解决了您的问题,您可以接受答案!