我的代码如下:
@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'
如您所见,尝试访问ID时出现参数错误。这实际上发生在我尝试访问任何属性时。这可能是盯着电脑的时间太长但我无法弄明白。有任何想法吗?请注意,TwitterNotification是使用单表继承实现的通知的子类。
谢谢!
更新
我取得了一些进展,这很好用:
logger.info @upcoming_reminders[0][:id]
因此,使用符号访问活动记录对象属性工作正常但点符号不能。知道为什么吗?
答案 0 :(得分:1)
好吧不是太长时间盯着我的电脑了。我在我的模型中创建了一个名为send的方法,似乎不允许这样做。