Rai*_*Son 6 ruby ruby-on-rails
我有一个控制器:
class StatsController < ApplicationController
require 'time'
def index
@started = "Thu Feb 04 16:12:09 UTC 2010"
@finished = "Thu Feb 04 16:13:44 UTC 2010"
@duration_time = stats_duration(@started, @finished)
end
private
def stats_duration(started, finished)
time_taken = distance_of_time_in_words(Time.parse(started), Time.parse(finished))
time_taken
end
end
Run Code Online (Sandbox Code Playgroud)
它接收a start和end时间并计算时间之间的持续时间.
当我运行这个时,我收到以下错误:
私有方法`gsub!' 呼吁周二04年4月16日16:12:09 UTC:时间
为什么会这样?
mik*_*kej 12
私有方法gsub!Time.parse通常使用时调用意味着您已parse使用Time对象调用而不是调用,String因此听起来您的代码实际上是在尝试将时间解析两次.
例如
>> t = Time.now
=> Fri Feb 05 13:12:17 +0000 2010
>> Time.parse(t)
NoMethodError: private method `gsub!' called for Fri Feb 05 13:12:17 +0000 2010:Time
from c:/ruby/lib/ruby/1.8/date/format.rb:965:in `_parse'
from c:/ruby/lib/ruby/1.8/time.rb:240:in `parse'
from (irb):6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7538 次 |
| 最近记录: |