我是rails新手,我已將前端項目移至rails環境。我用start_date,end_date和start_time列設置了一個表單。 start_date和end_date具有列類型:date和start_time具有列類型:time。我正在使用日期選擇器來選擇日期和時間選擇器來選擇時間。在我收到這兩個日期和時間格式爲:Rails - :date和:time列顯示nil值
Wed Jan 11 2017 13:31:14 GMT+0530
我已經格式化的矩JS展現出更易於理解的日期和時間格式給用戶的輸出。
moment().format('LL'); //January 23,2017
moment().format('LTS'); //1:17:54 PM
在提交表格時,日期和時間列爲零。
我讀過,我應該使用Date.parse()和Time.parse()或strftime來轉換日期。
我有兩個問題: 1.我應該在哪裏放置轉換代碼?憑直覺,我認爲它應該在控制器中,或者在視圖中,同時接受輸入本身。 2.什麼是格式:date和:time列接受?
我有sqlite 3作爲ActiveRecord的數據庫,我使用的是Rails 5.0.1。
home.new.html.erb(爲三個欄式表單字段):
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field :start_date,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="home_start_date" id="start-date-label">Enter start date</label>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field :end_date,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="home_end_date" id="end-date-label">Enter end date</label>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<%= f.text_field :start_time,:class => "mdl-textfield__input"%>
<label class="mdl-textfield__label" for="home_start_time" id="start-time-label">Enter time</label>
</div>
home_controller.rb
class HomeController < ApplicationController
def index
@campaigns = Home.all
end
def new
@home = Home.new
end
def show
@campaign = Home.find(params[:id])
end
def create
home_params = params.require(:home).permit(:campaign_name,:phone_number_receiver,:start_date,:end_date,:start_time,:sms_msg)
@home = Home.new(home_params)
@home.save
end
end
鏈接到github上:https://github.com/rimildeyjsr/sms-scheduler
我是新來的rails,能否請您提供更詳細的解釋? –
如果您發佈您的控制器代碼,我可以建議如何修改它。 – ReggieB
我用控制器代碼更新了我的問題 –