【发布时间】:2022-01-23 06:39:09
【问题描述】:
我有一个 period 字段类型为 tsrange 的记录。
我正在制作一个表单来创建它,我想继续使用 rails 表单助手 - 我想知道是否有某种约定来设置范围的 begin 和 end 的日期?
在我看来:
<%= form_with(model: @record) do |record_form| %>
<%= record_form.datetime_local_field :period %>
<% end %>
导致错误undefined method 'strftime' for Mon, 01 Jan 1996 09:00:00 +0000..Mon, 01 Jan 1996 17:00:00 +0000:Range
这是有道理的,因为我不能直接为范围创建一个输入,但似乎没有任何方法可以将范围属性解压缩到其 begin 和 end 方法中,例如
<%= record_form.datetime_local_field :period_begin %>
因为那个错误
undefined method 'period_begin' for #<ShiftPeriod id: nil, shift_pattern_id: nil, period: Mon, 01 Jan 1996 09:00:00 +0000..Mon, 01 Jan 1996 17:00:00 +0000, created_at: nil, updated_at: nil>
除了手动构建输入之外,还有什么方法可以为此范围字段类型构建输入? 谢谢!
【问题讨论】:
标签: ruby-on-rails ruby activerecord ruby-on-rails-7