Я пытаюсь настроить способ создать ежедневный график, который сравнивает эти столбцы:дата следующего платежа сохранить как DateTime рельсы
Я хранящий PayPal IPN next_payment_date
, который поставляется в другом формате, чем формат по умолчанию рельсов
пример
PayPal IPN "next_payment_date"=>"03:00:00 Oct 06, 2015 PDT"
рельсы created_at: "2015-10-05 14:24:17"
Это разные форматы, и я не очень уверен, что рельсы могут их сравнить.
, например
Я пытался хранить next_payment_date
как datetime
как этот
subscription = Subscription.find_by(paypal_recurring_profile_token: params[:recurring_payment_id])
if params[:next_payment_date]
subscription.update_attributes(paid_until: params[:next_payment_date])
end
это дата PayPal:
"next_payment_date"=>"03:00:00 Oct 06, 2015 PDT"
и это то, что рельсы магазинов
paid_until: "2015-10-05 03:00:06"
кажется, что рельсы знают немного, но не меняют месяц и день, просто время.
Каков правильный способ хранения этих параметров?
редактировать
схема:
create_table "payment_notifications", force: :cascade do |t|
t.text "params"
t.integer "user_role_id"
t.string "status"
t.string "transaction_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "user_id"
t.string "txn_type"
t.string "recurring_payment_profile_id"
end
create_table "subscriptions", force: :cascade do |t|
t.integer "user_role_id"
t.integer "user_id"
t.string "paypal_customer_token"
t.string "paypal_recurring_profile_token"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.datetime "paid_until"
t.boolean "canceled", default: false
end
редактировать 2
Попытка преобразовать строку времени, но это, кажется, выходит из строя:
irb(main):006:0> PaymentNotification.last.params[:next_payment_date]
PaymentNotification Load (1.9ms) SELECT "payment_notifications".* FROM "payment_notifications" ORDER BY "payment_notifications"."id" DESC LIMIT 1
=> "03:00:00 Oct 07, 2015 PDT"
irb(main):007:0> PaymentNotification.last.params[:next_payment_date].to_time
PaymentNotification Load (4.7ms) SELECT "payment_notifications".* FROM "payment_notifications" ORDER BY "payment_notifications"."id" DESC LIMIT 1
=> 2015-10-06 03:00:07 +0000
, когда я 'PaymentNotification.find (5) .params [: next_payment_date] .class' он возвращает в качестве строка, что мне делать в этом случае? –
Можете ли вы добавить текст в вопрос? – Roko
Я добавил схему на вопрос –