2012-03-07 5 views
0

이것은 레일즈 콘솔 (레일 c)에서 작동하지만 브라우저에서 볼 때 결과가 나타나지 않고 오류도 표시되지 않습니다. CONTROLER에레일즈 3 created_at의 주별 모든 사용자 나열

제가 가지고 뷰에

def weekly_user_stats 
    @created_users = User.where("username IS NOT NULL") 
    @created_users_by_week = Hash.new{ |h,k| h[k] = [] } 
    @created_users.each do |u| 
     unless u.nil? 
      @created_users_by_week[u.created_at.beginning_of_week.strftime("%Y-%m-%d")].push("#{u.username}") 
     end 
     end 
    end 

제가 가지고 배열 될 말아야 I에서만 키 내부의 키가 아닌 값을 참조하는 페이지 결과에

%ul 
    = @created_users_by_week.keys.sort.each do |k| 
     %li 
     = puts "#{k} : #{@created_users_by_week[k]}" 

사용자 .. 콘솔에 잘 작동합니다 .. 무엇이 잘못하고 있니?

답변

0

보기가 이렇게 보이지 않아야합니까?

%ul 
    - @created_users_by_week.keys.sort.each do |k| 
     %li #{k} : #{@created_users_by_week[k]} 

참조 : http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html

+0

작전! 그 덕분에 일했습니다! 처음에는 보통 halm을 사용합니다. .erb – cfernandezlinux

+0

haml을 사용하여 사용자 배열을 굳히기 위해 해시 기반의 선택 양식을 만드는 방법은 무엇입니까? 솔루션에 대한 필요가 없습니다 팁만 제공 – cfernandezlinux

+0

'= '을 사용하여 form 태그 도우미 메소드를 출력합니다. '= select_tag model, your_hash, options'의 줄에있는 뭔가 - select_tag 사용법에 대한 FormTagHelper 검색. 추신. 위의 답변이 제대로 작동하면 승인 된 것으로 표시하십시오. 감사. –

0

내가 HAML에 익숙하지 않은거야 그래서 난 당신의 특정 문제에 대해 알고하지 않습니다. 그러나 나는 당신이 데이터베이스에 다른 날짜를 저장하여 주 (또는 원하는 경우에 한 달)까지 빠르게 생성 된 사용자를 검색 할 것을 제안합니다.

dates[0] # (yyyymmdd) 
dates[1] # (yyyymm) 
dates[2] # (yyyy) 
dates[3] # (yyyyww) ww = week number 

으로

dates = ['20120307', '201203', '2012', '201210'] 

그럼 당신은 포함 '201210'그 날짜 속성에 쿼리하여 사용자를 retreive 수 :

이 일을 포함하는 속성으로 배열을 저장하여 그렇게 할 수 .