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