繁体   English   中英

从 STRIPE API / Rails 中按字母顺序对数组中的哈希值进行排序

[英]Sort alphabetically hash's values in array from STRIPE API / Rails

在 rails 6.1.4 中,我想以 DESC 顺序在 STRIPE 中显示产品的昵称。 我的意思是我的 VIEW 页面上的 S、M、L,而不是像 Stripe 给我们的随机方式。 在他们的https://stripe.com/docs/api中,我们似乎无法以简单的方式提出请求。

为此,我查询@compositionsProduct = Stripe::Price.list(product: @composition.product) 它在data部分返回一个 Hash 数组:

    => #<Stripe::ListObject:0x3ff733e41c08> JSON: {
  "object": "list",
  "data": [
    {"id":"price_price1","object":"price","active":true,"billing_scheme":"per_unit","created":1635150421,"currency":"eur","livemode":false,"lookup_key":null,"metadata":{},"nickname":"L","product":"prod_prod1","recurring":null,"tax_behavior":"unspecified","tiers_mode":null,"transform_quantity":null,"type":"one_time","unit_amount":4500,"unit_amount_decimal":"4500"},
    {"id":"price_price2","object":"price","active":true,"billing_scheme":"per_unit","created":1635150421,"currency":"eur","livemode":false,"lookup_key":null,"metadata":{},"nickname":"S","product":"prod_prod1","recurring":null,"tax_behavior":"unspecified","tiers_mode":null,"transform_quantity":null,"type":"one_time","unit_amount":2500,"unit_amount_decimal":"2500"},
    {"id":"price_price3","object":"price","active":true,"billing_scheme":"per_unit","created":1635150421,"currency":"eur","livemode":false,"lookup_key":null,"metadata":{},"nickname":"M","product":"prod_prod1","recurring":null,"tax_behavior":"unspecified","tiers_mode":null,"transform_quantity":null,"type":"one_time","unit_amount":3500,"unit_amount_decimal":"3500"}
  ],
  "has_more": false,
  "url": "/v1/prices"
}

我想写这样的东西: Stripe::Price.list(product: @composition.product).sort_by([:nickname].reverse)但它显然不起作用。

我可以遍历这 3 行,但我需要在他们的价格页面上分别linked_to到它们。

<% @compositionsProduct.map do |compoPrice| %>
  <%= link_to "#{compoPrice.nickname}", composition_path(compoPrice.id) %>
<% end %>

这是我最远的一点: @compositionsProduct.sort_by { |hash| hash[:nickname]} @compositionsProduct.sort_by { |hash| hash[:nickname]}负号不起作用, .reverse也不起作用

按字母顺序排序sort_by数组中特定行的值的最佳方法是什么?

@compositionsProduct.sort_by { |hash| hash[:nickname] }.reverse @compositionsProduct.sort_by { |hash| hash[:nickname] }.reverse效果很好。

暂无
暂无

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

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