У меня есть такой код:
@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]
Таким образом, доступ к атрибутам объекта активной записи с символом работает нормально, а точечная запись - нет. Есть идеи почему?