0
我正在使用Sinatra并使用ERB呈现视图。 我有以下作用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
。 原始值(如名称)通过时没有问题。
耶!那是票。有关如何将散列转换为HashWithIndifferentAccess的任何线索? – Dan 2012-03-10 17:22:45
我只是要确保您访问它们的方式一致。你可以像这样转换:'indifferent_hash = hash.with_indifferent_access'。你也可以在散列上调用'symbolize_keys!',它将把所有的字符串键转换为符号。 – JohnColvin 2012-03-10 17:31:11