I have this strange behavior and I don’t undertand why. Here is the
thing:
I have this record in my payment model:
1.9.3p286 :019 > u.payment.last
Payment Load (0.3ms) SELECT “payments”.* FROM “payments” WHERE
“payments”.“user_id” = 10
=> [#<Payment id: 37, bank_name: “Mercantil”, plan: “Plan Uno”, date:
“2012-12-25”, reference_number: “3452435”, coupon: “”, user_id: 10,
created_at: “2012-12-25 21:56:12”, updated_at: “2012-12-25 21:58:31”,
active_until: “2013-01-24”>]
As you can see, I have one record for my user: 10.
If I try to get the same information in my controller I don’t get any
exception, but
@user.payment.last.active_until
is empty, the same in the view.
For example if I try this in my view:
<%= @user.payment.last.active_until %>
I didn’t get anything, is blank.
If I try this
<%= @user.payment %>
I got the same as my console
[#<Payment id: 37, bank_name: “Mercantil”, plan: “Plan Uno”, date:
“2012-12-25”, reference_number: “3452435”, coupon: “”, user_id: 10,
created_at: “2012-12-25 21:56:12”, updated_at: “2012-12-25 21:58:31”,
active_until: “2013-01-24”>, #<Payment id: nil, bank_name: nil, plan:
nil, date: nil, reference_number: nil, coupon: nil, user_id: 10,
created_at: nil, updated_at: nil, active_until: nil>]
I really don’t understand what happend here. Any help please.
Thanks in advance.
PD: The user could has many payments, but I need just the last.