我有一个名为RaceTimings
的模型,它记录了每个学生参加比赛的时间。
我想从单个文本字段中获取格式minute:seconds:microseconds
的表单输入,并将值存储在同一模型的3个不同列中。
我已经通过其他链接但找不到任何解决方案。
有谁能建议如何做到这一点?
答案 0 :(得分:1)
当您使用def something=(val)
设置某个变量时,只需使用您调用的=
函数。
class RaceTiming
# unless you dont have those fields in your database
attr_accessor :minutes, :seconds, :microseconds
def time
# returns "12:14:24" as a string
[minutes, seconds, microseconds].join(":")
end
def time=(val)
#split the val into an array ["11", "04", "123"] if it was 11:04:123
val = val.split(":")
self.minutes = val[0]
self.seconds = val[1]
self.microseconds = val[2]
end
end
你通过
来称呼它record = RaceTiming.new
record.time = "12:44:953"
# do what you need to do
答案 1 :(得分:0)
假设您的文本字段以"minute:seconds:microseconds"
格式提供分钟,秒和微秒,您可以执行以下操作:
a = "minute:seconds:microseconds".split(':')
minutes, seconds, microseconds = a[0], a[1], a[2]
RaceTiming.update_attributes(:minutes => minutes, :seconds => seconds, :microseconds => microseconds)