Активный объект записи Rails вызывает ошибку, когда я пытаюсь получить доступ к любому атрибуту - PullRequest
1 голос
/ 30 октября 2009

У меня есть такой код:

@notifications = Notification.find_all_by_user_id(@user.id, :order=>'deliver_by DESC', :conditions=>"deliver_by >= '#{Date.today.to_s(:db)}'")
    logger.info @upcoming_reminders[0].inspect
    logger.info @upcoming_reminders[0].class
    logger.info @upcoming_reminders[0].id
    logger.info "--------------------------"

Зарегистрированный результат:

#<TwitterNotification id: 1, user_id: 3, message: "Testing", deliver_by: "2009-10-30 16:00:00", created_at: "2009-10-13 12:00:45", updated_at: "2009-10-28 20:01:03", processed_at: "2009-10-13 20:00:06", type: "TwitterNotification">
TwitterNotification

ArgumentError (wrong number of arguments (1 for 0)):
  app/controllers/reminders_controller.rb:57:in `get_reminders'

Как видите, я получаю ошибку аргумента при попытке доступа к идентификатору. Это на самом деле происходит, когда я пытаюсь получить доступ к любому атрибуту. Это может быть из-за того, что я слишком долго смотрю на компьютер, но я так и не смог понять это. Есть идеи? Обратите внимание, что TwitterNotification является подклассом Notification, реализованным с использованием наследования одной таблицы.

Спасибо!

UPDATE

Я немного продвинулся, все отлично работает:

logger.info @upcoming_reminders[0][:id]

Таким образом, доступ к атрибутам объекта активной записи с символом работает нормально, а точечная запись - нет. Есть идеи почему?

1 Ответ

1 голос
/ 31 октября 2009

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

...