Redmine: ошибка в просмотре профиля пользователя

Я получаю эту ошибку:

Processing MyController#account (for 127.0.0.1 at 2012-01-31 13:22:55) [GET]
  Parameters: {"action"=>"account", "controller"=>"my"}
Rendering template within layouts/base
Rendering my/account

ActionView::TemplateError (undefined method `-' for nil:NilClass) on line #11 of app/views/my/_sidebar.html.erb:
8: 
9: <p>
10: <% if @user.rss_token %>
11: <%= l(:label_feeds_access_key_created_on, distance_of_time_in_words(Time.now, @user.rss_token.created_on)) %>
12: <% else %>
13: <%= l(:label_missing_feeds_access_key) %>
14: <% end %>

    app/views/my/_sidebar.html.erb:11
    app/views/my/account.html.erb:48
    app/helpers/application_helper.rb:980:in `content_for'
    app/views/my/account.html.erb:47
    /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:528:in `process_client'
    /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:600:in `worker_loop'
    /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:485:in `spawn_missing_workers'
    /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:135:in `start'
    /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/bin/unicorn_rails:209
    /home/redmine/redmine-buildout/parts/rubygems/bin/unicorn_rails:19:in `load'
    /home/redmine/redmine-buildout/parts/rubygems/bin/unicorn_rails:19

Rendering /home/redmine/redmine-buildout/parts/redmine/public/500.html (500 Internal Server Error)

для некоторых пользователей (не всех) при попытке увидеть /my/account.

Если я попытаюсь увидеть профиль этого пользователя в качестве администратора, я получу:

Processing UsersController#show (for 2.157.30.187 at 2012-02-01 14:26:40) [GET]
  Parameters: {"action"=>"show", "id"=>"9", "controller"=>"users"}

NoMethodError (undefined method `<=>' for nil:NilClass):
  lib/redmine/activity/fetcher.rb:80:in `events'
  lib/redmine/activity/fetcher.rb:80:in `sort!'
  lib/redmine/activity/fetcher.rb:80:in `events'
  app/controllers/users_controller.rb:74:in `show'
  /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:528:in `process_client'
  /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:600:in `worker_loop'
  /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:485:in `spawn_missing_workers'
  /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:135:in `start'
  /home/redmine/redmine-buildout/parts/rubygems/lib/ruby/gems/1.8/gems/unicorn-4.1.1/bin/unicorn_rails:209
  /home/redmine/redmine-buildout/parts/rubygems/bin/unicorn_rails:19:in `load'
  /home/redmine/redmine-buildout/parts/rubygems/bin/unicorn_rails:19

Rendering /home/redmine/redmine-buildout/parts/redmine/public/500.html (500 Internal Server Error)

Мое (необразованное) предположение состоит в том, что пользователь пропускает токен аутентификации rss.

Если это так, можете ли вы указать мне на некоторые документы о том, как его восстановить?


person silviot    schedule 01.02.2012    source источник


Ответы (2)


Вы недавно обновили Redmine?

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

rake generate_session_store
rake db:migrate RAILS_ENV=production
rake db:migrate_plugins RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear

После выполнения команд перезапустите веб-сервер и посмотрите, помогло ли это.

person Declan Lynch    schedule 01.02.2012
comment
Спасибо, но это не так: это новая установка. Вероятно, я нашел причину: я заметил, что пользователю, созданному вчера (31 января), был один месяц. Я предполагаю, что это связано с конфигурацией базы данных postgres и порядком месяца/дня. - person silviot; 01.02.2012

Непонимание между postgresql и redmine в форматах даты строки, казалось, было основной причиной (см. мой комментарий к ответу Деклана Линча).

ALTER DATABASE redmine SET DATESTYLE=US;

решил все мои проблемы.

person silviot    schedule 01.02.2012