Rails 3 список всех пользователей по неделям созданного - PullRequest
0 голосов
/ 08 марта 2012

Это работает на консоли рельсов (rails c), но когда видно из браузера, это не так, просто не показывает результаты, никаких ошибок.

на контроллере у меня есть:

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

на просмотрах у меня есть:

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

на странице результатов Я вижу только ключи, но не значения внутри ключей, которые должны быть массивом пользователей .. на консоли работает просто отлично .. чтоя делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Я не знаком с хамлом, поэтому не знаю о вашей конкретной проблеме.Однако я бы посоветовал вам сохранить другую дату в вашей базе данных, чтобы быстро восстановить ваших созданных пользователей по неделям (или даже месяцам, если вы этого хотели).

Вы можете сделать это, сохранив массив как атрибут, содержащийэто:

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

С

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

Затем вы можете получить пользователей, запросив атрибуты дат, включающие «201210».

0 голосов
/ 08 марта 2012

Разве вид не должен выглядеть так?

%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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...