2

嗨,我是 Rails 的新手,并且在 ruby​​ 方面有几天的经验。我使用线程创建了一个秒表程序。但是现在我想把它放在我的 Rails 应用程序中,并且视图应该有按钮来开始、停止、恢复秒表,因为我正在跟踪一个事件。有人可以展示如何将 ruby​​ 程序嵌入到 rails 并从视图中使用它吗?

应从视图中的开始/停止/恢复按钮调用以下程序

stopwatch.rb:(它现在只有 start 方法和 pause 方法)

class Stopwatch

def initialize
    @t_start
    @t_elapsed 
    @t_total
    @t_current
end


def start
    @t_start = Time.now
    t = Thread.new do 
          while true do
            @t_current = Time.now
            puts @t_current
            @t_elapsed = @t_current - @t_start
            puts "Time elapsed is : #{@t_elapsed.to_i} seconds"
            sleep 1
          end

     end

end

def pause
    # Stop the Thread => Sleep the Thread until Resume is pressed.
    t.kill
    # Calculate the elapsed time
        @t_elapsed = @t_current - @t_start   

    end

end

ticker = Stopwatch.new

ticker.start

谢谢,

4

1 回答 1

0

所以首先你可以在lib/你的应用程序的目录中添加这个类。那么问题是你不能puts直接到视图中。一种解决方案可能是为此使用Pusher。然后在您的控制器中,您可以触发(那里的文档和示例)要发送到视图的数据。

然后你会在 javascript 中得到值,你可以更新视图。

为了让按钮工作,您还需要使用 Ajax 查询并在控制器中处理它

于 2012-10-28T14:56:18.127 回答