我有这种奇怪的行为,我不明白为什么。事情是这样的:
我的付款模式中有此记录:
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">]
如您所见,我的用户有一条记录:10。
如果我尝试在我的控制器中获取相同的信息,我不会得到任何异常,但是
@user.payment.last.active_until
是空的,在视图中也是一样的。
例如,如果我在我看来尝试这个:
<%= @user.payment.last.active_until %>
什么都没有,一片空白。
如果我试试这个
<%= @user.payment %>
我和我的控制台一样
[#<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>]
我真的不明白这里发生了什么。请提供任何帮助。
提前致谢。
PD:用户可以有很多付款,但我只需要最后一个。