我正在使用Sinatra并使用ERB渲染视图。 我有以下行动
get '/user/:id' do
u = @users.retrieve( params[:id] )
u[:mykey] = [1,2,3]
erb( :user, :locals => { :user => u } )
end
,视图看起来像这样
<body>
<h1><%= user["name"] %></h1>
<pre><%= user["mykey"].to_json %></pre>
并且我希望得到[1,2,3]
数组,我得到一个大胖null
。
原始值(如名称)可以顺利通过。
答案 0 :(得分:3)
是Hash还是HashWithIndifferentAccess?
您正在设置user[:mykey]
并检索user["mykey"]
。使用符号或字符串,除非使用HashWithIndifferentAccess,否则不要混用它们。