Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails如何在没有交互的情况下运行脚本文件?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails RubyonRails如何在没有交互的情况下运行脚本文件?

Ruby on rails RubyonRails如何在没有交互的情况下运行脚本文件?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在尝试运行脚本文件,这是应用程序的后院。服务器启动时,必须运行脚本;直到服务器停止。 我知道railsrunner命令;但我的脚本包含数据库进程(insert),返回的错误名为: : uninitialized constant DataRecord (NameError) script.rb: # # Some codes here # DataRecord.create(sensor_id: data[0].to_s, temperature: data[1].to_f, humu

我正在尝试运行脚本文件,这是应用程序的后院。服务器启动时,必须运行脚本;直到服务器停止。 我知道
railsrunner
命令;但我的脚本包含数据库进程(insert),返回的错误名为:

: uninitialized constant DataRecord (NameError)
script.rb:

# 
# Some codes here
#

DataRecord.create(sensor_id: data[0].to_s, temperature: data[1].to_f, humudity: data[2].to_f)

# 
# And some codes here..
#

-----------------------------------------------------------------
DataRecord是我的模型。当然,它可以在“应用程序\控制器”上运行,并进行交互。必须有人进入网站。我不想要它

data_record.rb:

class DataRecord < ApplicationRecord
end

在脚本开头添加
require./config/environment'
,以便在脚本中加载rails应用程序(以及所需的模型)


你可能想把它变成任务。

你认为ActiveJobs怎么样?我不知道它是怎么用的。但根据,它可以运行后端进程;就像我想要的那样。然而,我不知道如何使用它,我也不清楚:/要使用activejob,你需要设置一个像sidekiq或resque这样的工作运行程序(如果你不知道,它只是在你的web应用程序进程中以线程的形式运行)好的,朋友。我将尝试您的建议和activejob,并返回结果。谢谢
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
~$ ruby -v
ruby 2.3.1p112

~$ rails -v 
Rails 5.0.1