je code comme:Rails actif objet d'enregistrement provoque une erreur lorsque je tente d'accéder à un attribut
@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 "--------------------------"
Le résultat connecté est
#<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'
Comme vous pouvez le voir, je reçois une erreur d'argument lorsque essayer d'accéder à l'ID. Cela se produit réellement lorsque j'essaie d'accéder à n'importe quel attribut. Cela peut être un cas de regarder l'ordinateur trop longtemps, mais je n'ai pas été en mesure de le comprendre. Des idées? Notez que TwitterNotification est une sous-classe de Notification implémentée à l'aide de Single Table Inheritance.
Merci!
MISE À JOUR
je fait un peu de progrès, cela fonctionne très bien:
logger.info @upcoming_reminders[0][:id]
donc accéder à l'objet d'enregistrement actif attributs avec un symbole fonctionne très bien, mais la notation par points ne fonctionne pas. Une idée pourquoi?
Où est défini le tableau @upcoming_reminders? – EmFi