Ruby on rails 3 在Rails窗体中选择时间显示亚秒

Ruby on rails 3 在Rails窗体中选择时间显示亚秒,ruby-on-rails-3,Ruby On Rails 3,我有一张记录运动时间的表格:我需要分、秒和百分之几秒,即1:31.43——我不需要小时。 在我的表格中,我使用: <%= f.time_select :perf_time, {:discard_hour => true, :default => {:minute => '00', :second => '00'}, :include_seconds => true} %> true,:default=>{:minute=>'00',:second=>'

我有一张记录运动时间的表格:我需要分、秒和百分之几秒,即1:31.43——我不需要小时。 在我的表格中,我使用:

<%= f.time_select :perf_time, {:discard_hour => true, :default => {:minute => '00', :second => '00'}, :include_seconds => true} %>
true,:default=>{:minute=>'00',:second=>'00'},:include_seconds=>true}%>
这将显示两个选择下拉列表,一个用于分钟,一个用于秒

我为百分之一百秒(整数类型)添加了一个单独的字段:
0..999%>

现在,我想在我的助手中使用方法
.change()
来更改添加/更改微秒到性能时间。这是我的代码,但它没有任何作用

保存前:设置性能时间
def设置性能时间
self.perf_time.change(usec:(self.perf_time_cents*10))

结束

时间内没有毫秒选项。\u选择,因为包含1000个可能值的组合框对用户不友好

您可以使用一个单独的文本字段来表示毫秒数,使用HTML5类型
number

<%= f.number_field :perf_time_millis, :in => 0..999 %>

有道理。这个的代码是什么?我需要将它同时放入
def create
def update
?抱歉,我三天前开始学习Rails…@user27212111使用
DateTime
对这一点来说并不容易,我宁愿将其保存为毫秒数(
integer
列)。我已经更新了我的答案。我尝试了
def create
def create def set_perf_time perf_time=“#{perf_time}”+“+”{perf_time_millis}”end
,但它没有做任何事情。我找不到正确的语法。另外,我将
perf\u time\u millis
type设置为integerThanks--我没有看到您的更新。但是,我应该如何使用
时间(单位:毫秒)
?如何将
perf_time
设置为
time_in_millis
?如果
perf_time
为整数列,只需使用
time_in_millis
进行设置并保存对象即可。你似乎很迷茫,花点时间阅读指南,你会学到很多:
time_in_millis = params[:perf_time_millis].to_i + 1000 * (params["perf_time(5i)"].to_i * 60 + params["perf_time(6i)"].to_i))