Jquery Json响应进入rails中的selectBox

Jquery Json响应进入rails中的selectBox,jquery,ruby-on-rails,arrays,json,hash,Jquery,Ruby On Rails,Arrays,Json,Hash,我有以下Json响应: [ { "Year": 2016, "Links": [ { "Href": "/v1/Information/YMME/Years/2016/Makes", "Rel": "VehicleMakes" } ] }, { "Year": 2015, "Links": [ { "Href": "/v1/Information/YMME/Years/2015/Makes",

我有以下Json响应:

[ {
    "Year": 2016,
    "Links": [ {
        "Href": "/v1/Information/YMME/Years/2016/Makes",
        "Rel": "VehicleMakes"
      } ]
  },
  {
    "Year": 2015,
    "Links": [ {
        "Href": "/v1/Information/YMME/Years/2015/Makes",
        "Rel": "VehicleMakes"
      } ]
  },
  {
    "Year": 2014,
    "Links": [ {
        "Href": "/v1/Information/YMME/Years/2014/Makes",
        "Rel": "VehicleMakes"
      } ]
  },
  {
    "Year": 2013,
    "Links": [ {
        "Href": "/v1/Information/YMME/Years/2013/Makes",
        "Rel": "VehicleMakes"
      } ]
  },
  {
    "Year": 2012,
    "Links": [ {
        "Href": "/v1/Information/YMME/Years/2012/Makes",
        "Rel": "VehicleMakes"
      } ]
  } ]
如您所见,这是一个嵌套哈希数组。我知道有几个帖子是关于这个的,但无论是我的技能水平还是这个问题的唯一性,我都希望能够处理这些数据。有什么方法可以帮助我将这些数据放入一个选择框,以便只显示年份。到目前为止,在我看来,这是我所拥有的,只是将整个对象放在选择框中。我只想看看今年

    <%=select_tag("Year", options_for_select(@caryears))%>


其中
@caryears
是散列或(对象)的完整数组。顺便说一下,我不能使用基于响应的符号,这是我获取数据的方式。想法是在用户选择年份后转到年份链接

我想您要寻找的是ruby方法
collect
。Collect为您执行一次内部迭代,并返回和数组对象。您可以传递一个要收集的块,允许您准确定义要返回的内容。在您的情况下,它将如下所示:

json_object.collect{|o| [o["Year"],o["Links"][0]["Href"]]}
请注意链接后的
[0]
。在您的示例json响应中,只有一个定义了链接的数组。如果将来更改此链接,或者如果确实有多个链接,则此0将始终返回列表中的第一个链接。此外,如果没有链接,它将失败

您可以在此处阅读有关collect的更多信息:

第二部分是选择的
选项。这是一个嵌套数组,简单明了,每个数组都有2个参数,第一个是显示给用户的参数,第二个是值,在本例中为url。对于复杂的显示器,你也应该仔细阅读一下


关于如何将json解析为html,有很多教程。这不是代码编写服务谢谢,如果你不想回答我理解的问题。别接。为什么还要用粗鲁的方式回答呢?这不是粗鲁。。。这是一个关于这个网站如何运作的声明。这个问题不符合帮助中心每个文档的正确问题指南Thankyou@trh这很有帮助,我知道有一个新方法,但在看到你的帖子之前找不到正确的方法。谢谢