Rails新手在這裏,請原諒我,如果我失去了明顯的東西。從表格中保存日期和時間
我有一個名爲Game
的模型,它的表格中有datetime
列,名稱爲occurred_at
。正如您可能猜到的那樣,信息旨在存儲game
發生的日期/時間。到目前爲止,在創建我的game
對象時,我通過調用Time.parse(str)
來使用seeds.rb
來填充occurred_at
屬性。 (例如Time.parse("1 February 2017 5:00 PM PST")
)
現在我正在爲games#new
和games#edit
頁面工作_form
。這是(非常基本)想什麼,我的_form
的樣子:
<%= form_for @game do |f| %>
<%= f.date_field :date %>
<%= f.time_field :time %>
<%= f.text_field :home_team %>
<%= f.text_field :away_team %>
<% end %>
很顯然,這是不行的。 @game
沒有date
和time
方法。 @game
的日期和時間通過@game.occurred_at
訪問。直觀的解決方案是在我的參數中傳遞date
和time
,然後在我的GamesController
中添加邏輯以相應地創建/更新@game.occurred_at
。
所以我有三個疑問:
- 我是否有正確的想法,經過
date
和time
參數並將它們組合在GamesController
的根本解決方案呢?如果不是,完成:occurred_at
更新目標的最佳方法是什麼? - 如果我對底層解決方案的想法是正確的,我將如何在我的應用程序中執行該解決方案?
- 通常,當創建或更新對象時,將
params
直接傳遞給負責創建或更新對象的方法。這是否會影響我的問題?
@Jay,你可以試試這個答案嗎?我希望它對你有用。如果是的話,你能否將答案標記爲已接受? – Jeremie