我有一個模型術語有這些列:名稱,:start_date和:end_date。日期時間沒有正確保存
我用jQuery datetimepicker填充start_date和end_date字段。
使用更好的錯誤,我查了term_params和精細似乎:
>> term_params
=> {"name"=>"Test", "start_date"=>"09/29/2015 10:51 AM", "end_date"=>"10/08/2015 10:51 AM"}
,然後我保存對象,以確保它可以節省罰款:
>> @term.save!
=> true
然後我檢查的對象,看到start_date是零:
>> @term
=> #<Term id: 8, name: "Test", start_date: nil, end_date: "2015-08-10 10:51:00", created_at: "2015-09-09 07:51:59", updated_at: "2015-09-09 07:51:59">
我搜索了未經許可的start_da日誌以防萬一,無法找到任何東西。
在服務器日誌記錄了這些:
Started POST "/terms" for 127.0.0.1 at 2015-09-09 10:51:27 +0300
Processing by TermsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"uHh88e875EFNI2Iktfiidm5qzgeOop997b+gIrjtSEp1g/cqK1KYBJWhNJhCwo67bojGeJiTD8R/ngs8kmcWsQ==", "term"=>{"name"=>"Test", "start_date"=>"09/29/2015 10:51 AM", "end_date"=>"10/08/2015 10:51 AM"}, "commit"=>"Create Term"}
Admin Load (0.2ms) SELECT "admins".* FROM "admins" WHERE "admins"."id" = ? ORDER BY "admins"."id" ASC LIMIT 1 [["id", 1]]
(0.1ms) begin transaction
SQL (0.4ms) INSERT INTO "terms" ("name", "end_date", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Test"], ["end_date", "2015-08-10 00:00:00.000000"], ["created_at", "2015-09-09 07:51:27.632512"], ["updated_at", "2015-09-09 07:51:27.632512"]]
(2.0ms) commit transaction
Redirected to http://127.0.0.1:3000/terms
Completed 302 Found in 27ms (ActiveRecord: 3.4ms)
我不明白,爲什麼是stat_date缺少從INSERT INTO時,它在參數列表中被髮送。有趣的是,當我一次又一次地嘗試時,它不記錄start_date和end_date,甚至有一次它記錄都很好。
任何線索可能是錯誤的?
萬一你可能想看看它(terms_controller.rb)後面的代碼:
def create
@term = Term.new(term_params)
if @term.save
flash.notice = "Term was created successfully!"
redirect_to terms_path
else
flash.warning = "Something went wrong. Please try again!"
render 'new'
end
end
和
private
def term_params
params.require(:term).permit(:name, :start_date, :end_date)
end
「start_date」的'datatype'是什麼? – Pavan
@Pavan datetime –
什麼是格式? 'MM/DD/yyyy'? – Pavan