Ruby on rails 更改Rails中质量分配的条带参数键
我正在将Stripe集成到Rails应用程序中。现在Stripe Checkout返回一个带有键值对的params散列,如下所示: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 如果散列
"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如果解决了您的问题,您可以接受答案!