在 rails 服务器加载后直接创建变量
Creating a variable directly after rails server loads
我正在尝试使用 classifier gem 将引号分类为 "happy" 或 "sad"。现在,我对应用程序进行了配置,以便任何新的 POST 请求都可以通过在 app/controllers/quotes_controller.rb
中使用以下命令 bayes.train_happy "I am very happy"
来训练分类器
只要在服务器处于 运行 时添加新引号,这就有效。但是,无论何时服务器关闭或重新启动(在开发过程中不断),变量 bayes
都会被删除,这样当我重新启动服务器时,引号将保存在数据库中,但 bayes
变为空。
本质上,我希望能够在服务器启动后直接调用下面的代码块,这样用户就可以在服务器启动后直接调用已经构建的分类器。
bayes = Classifier::Bayes.new 'happy', 'sad'
Quote.all.each do |quote|
eval("bayes.train_#{quote.classification} quote.body.upcase")
puts "wrote {#{quote.body}} to bayes"
end
其中Quote
在db/schema.rb
中定义如下
create_table "quotes", force: true do |t|
t.string "body"
t.string "classification"
t.datetime "created_at"
t.datetime "updated_at"
end
在 initializers
文件夹中创建任何文件并将您的代码放在那里。确保包含所有依赖项(如果有)。 Rails 将在服务器加载期间加载并执行它
我正在尝试使用 classifier gem 将引号分类为 "happy" 或 "sad"。现在,我对应用程序进行了配置,以便任何新的 POST 请求都可以通过在 app/controllers/quotes_controller.rb
bayes.train_happy "I am very happy"
来训练分类器
只要在服务器处于 运行 时添加新引号,这就有效。但是,无论何时服务器关闭或重新启动(在开发过程中不断),变量 bayes
都会被删除,这样当我重新启动服务器时,引号将保存在数据库中,但 bayes
变为空。
本质上,我希望能够在服务器启动后直接调用下面的代码块,这样用户就可以在服务器启动后直接调用已经构建的分类器。
bayes = Classifier::Bayes.new 'happy', 'sad'
Quote.all.each do |quote|
eval("bayes.train_#{quote.classification} quote.body.upcase")
puts "wrote {#{quote.body}} to bayes"
end
其中Quote
在db/schema.rb
create_table "quotes", force: true do |t|
t.string "body"
t.string "classification"
t.datetime "created_at"
t.datetime "updated_at"
end
在 initializers
文件夹中创建任何文件并将您的代码放在那里。确保包含所有依赖项(如果有)。 Rails 将在服务器加载期间加载并执行它