0

我在 Rails 3.2 中有以下代码:

Changeset: <%= @version.changeset %><br><br>

Length: <%= @version.changeset.length %><br><br>

<%= @version.changeset.each_with_index do |(key, value), i| %>
  <%= i %> - <%= key %> - <%= value %><br>
<% end %>

输出是:

Changeset: {"getting_there"=>["a", "b"], "description"=>["c", "d"]}

Length: 2

0 - getting_there - ["a", "b"]
1 - description - ["c", "d"]
{"getting_there"=>["a", "b"], "description"=>["c", "d"]}

我不知道为什么最后一个{"getting_there"=>["a", "b"], "description"=>["c", "d"]}显示。它不应该显示。

4

1 回答 1

1

代替:

<%= @version.changeset.each_with_index do |(key, value), i| %>

你需要有:

<% @version.changeset.each_with_index do |(key, value), i| %>

=意味着each_with_index将显示调用的最终值(这是您调用它的哈希值)。

于 2013-08-28T09:03:27.700 回答