2012-08-23 50 views
0

我有以下代碼:獲取價值對象哈希的Rails中

def analytics 
    @user_registrations = User.count(:conditions => ["created_at >= ?", 30.days.ago.to_date], group: "date(created_at)") 
    @daily_count = [] 
    30.times do |day| 
     @daily_count << [Date.today - day, @user_registrations['#{Date.today - day}']] 
    end 
    end 

當與運行:<%= simple_format @user_registrations.to_yaml %>生產:

--- !omap 
- '2012-08-23': 11 

我想要得到的11值,並把該在我的daily_count數組中。

我該怎麼做?

更新:

<%= simple_format @user_registrations.to_yaml %> 
<%= simple_format @daily_count.to_yaml %> 

結果的圖像:

**enter image description here**

+0

我很困惑 - 如果你只想要數字11,爲什麼你將它與日期結合?或者你想要的東西不僅僅是數字11? – PinnyM

+0

如果你能告訴我如何得到數字11,我可以找出其餘的。實質上,我希望@dailycount看起來像[[日期,計數],[日期,次數]]。問題是,有時候不會計算一個日期,所以我不能只是循環計數。那有意義嗎? –

回答

1

只需更換:

@daily_count << [Date.today - day, @user_registrations['#{Date.today - day}']] 

有:

@daily_count << [Date.today - day, @user_registrations["#{Date.today - day}"] || 0] 

單引號將導致#{}轉義語法被視爲文字,雙引號會導致它被評估。

+0

我一直在尋找[[date,count] [date,count]] not [[date_count] [date_count]]。此外,這並不像預期的那樣工作。即使我知道當天有用戶註冊,它也會爲所有內容填充0。 –

+0

我已經在上面添加了一個可能有用的更新。我認爲'Date.today - day'產生錯誤的散列鍵。 –

+1

請參閱上面的更新 – PinnyM