@ user.visit_count => неопределенный метод - PullRequest
0 голосов
/ 03 ноября 2010

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

@user = User.where("created_at > ?", Time.now.midnight).select(:visit_count)
@user.visit_count += 1
@user.save(:validate=>false)

Я получаю следующую ошибку:

undefined method `visit_count' for [#<ActiveLink visit_count: 1>]:ActiveRecord::Relation

Это похоже на Rails 3 - где я ошибаюсь?

1 Ответ

0 голосов
/ 03 ноября 2010

Ваш запрос всегда возвращает несколько результатов в виде массива.

Просто добавьте .first, чтобы убедиться, что вы выбрали только первый результат.

@user = User.where("created_at > ?", Time.now.midnight).select(:visit_count).first

Если вы хотите обновить много записейв то же время посмотрите на метод update_all:

http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-update_all

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