私はこの奇妙な行動をしていて、その理由を理解していません。これがそのことです:
私の支払いモデルには次のレコードがあります。
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:ユーザーは多くの支払いをすることができますが、私は最後のものだけが必要です。