Ruby on rails 如何在rails3中嵌入用户创建的ruby程序

Ruby on rails 如何在rails3中嵌入用户创建的ruby程序,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,嗨,我是Rails方面的新手,在ruby方面有几天的经验。我用线程创建了一个秒表程序。但现在我想把它放在我的Rails应用程序中,视图应该有启动、停止、恢复秒表的按钮,因为我正在跟踪一个事件。有人可以演示如何将ruby程序嵌入rails并从视图中使用它吗? 应从视图中的开始/停止/恢复按钮调用以下程序 stopwatch.rb:(目前只有启动方法和暂停方法) 谢谢,因此首先您可以将该类添加到应用程序的lib/目录中。 然后问题是你不能把东西直接放到视图中。一种解决办法是使用它。然后在控制器中,可

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

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

stopwatch.rb:(目前只有启动方法和暂停方法)


谢谢,

因此首先您可以将该类添加到应用程序的
lib/
目录中。 然后问题是你不能把东西直接放到视图中。一种解决办法是使用它。然后在控制器中,可以触发()要发送到视图的数据

然后,您将获得javascript中的值,并可以更新视图

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

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