在 simple_form_for rails 中设置默认时间戳
setting default timestamp in simple_form_for rails
我的simple_form_for有字段
<div><%= f.input :start_time %></div>
<div><%= f.input :end_time %></div>
start_time 和 end_time 是我在 postgresql 中的数据库列
默认情况下,当我打开表单时,它会将当前时间作为默认时间作为选项的 select。
如何将屏幕排序中的默认时间 02:14
(开始和结束时间的当前时间)设置为 00:00
UI 看起来像这样
数据库列
您最好在新的控制器方法中执行此操作:
def new
@model = Model.new
@model.start_time = Time.now.beginning_of_day
@model.end_time = Time.now.beginning_of_day
end
如果我没记错的话,这应该将标准日期设置为今天,但是 00:00 小时。
两种方式:
1) 在初始化时设置实际属性值,在控制器操作中:
def new
@event = Event.new(start_time: Time.now.beginning_of_day, end_time: Time.now.beginning_of_day)
end
2) 如果出于某种原因您不想更改实际属性,您可以只在视图中设置输入值。谨慎使用。
<div><%= f.input :start_time, input_html: {value: (f.object.start_time || Time.now.beginning_of_day) } %></div>
<div><%= f.input :end_time, input_html: {value: (f.object.end_time || Time.now.beginning_of_day)} %></div>
我的simple_form_for有字段
<div><%= f.input :start_time %></div>
<div><%= f.input :end_time %></div>
start_time 和 end_time 是我在 postgresql 中的数据库列
默认情况下,当我打开表单时,它会将当前时间作为默认时间作为选项的 select。
如何将屏幕排序中的默认时间 02:14
(开始和结束时间的当前时间)设置为 00:00
UI 看起来像这样
数据库列
您最好在新的控制器方法中执行此操作:
def new
@model = Model.new
@model.start_time = Time.now.beginning_of_day
@model.end_time = Time.now.beginning_of_day
end
如果我没记错的话,这应该将标准日期设置为今天,但是 00:00 小时。
两种方式:
1) 在初始化时设置实际属性值,在控制器操作中:
def new
@event = Event.new(start_time: Time.now.beginning_of_day, end_time: Time.now.beginning_of_day)
end
2) 如果出于某种原因您不想更改实际属性,您可以只在视图中设置输入值。谨慎使用。
<div><%= f.input :start_time, input_html: {value: (f.object.start_time || Time.now.beginning_of_day) } %></div>
<div><%= f.input :end_time, input_html: {value: (f.object.end_time || Time.now.beginning_of_day)} %></div>