0

これは簡単なものです:

私のレールビューには次のものがあります:

<% h = { "a" => 100, "b" => 200 } %>
<%= h.each_key { |key| puts key } %>

これは、ビューで次を返します。

{"a"=>100, "b"=>200}

ただし、ruby api doc (http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-each_key) によると、次のように返されるはずです。

a
b

キー出力だけでなく、ハッシュ全体がビューにリストされているのはなぜですか? これはおそらく私のばかげた質問であることはわかっていますが、しばらくの間、これにこだわっています。

よろしくお願いします。

4

1 に答える 1

2

正しい結果を得るには、次のコードを記述します。

<% { "a" => 100, "b" => 200 }.each_key do |key| %>
  <%= key %>
  <br/>
<% end %>

キーを書き込むpusts keyと、ログ(およびコンソール)に書き込まれます。キーを書き込む<%= key %>と、ページにキーが書き込まれます。

于 2012-05-09T22:57:35.093 に答える