0
我試圖利用classifier gem將引號分類爲「開心」或「悲傷」。現在,我配置了應用程序,以便任何新的POST請求都通過使用以下命令來訓練分類器:bayes.train_happy "I am very happy"
in app/controllers/quotes_controller.rb
在導軌服務器加載後直接創建變量
只要在服務器運行時添加新引號,就可以工作。但是,只要服務器關閉或重新啓動(在開發過程中不斷),變量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
如果我正確解釋你,這是行不通的。我在'''intializers/bayes.rb'''上添加了一個包含所需代碼的文件作爲唯一內容。但是,當我嘗試通過在頁面頂部添加'''<%= bayes %>'''來訪問它時,出現一個新錯誤: '''未定義的局部變量或方法'bayes'''' – user3934731
您需要存儲貝葉斯的某處可以在您的頁面稍後訪問它。 '''Rails.application.config.bayes'''是一個選項。 redis或類似的存儲會更好,尤其是如果bayes以任何方式都是複雜的結構。 – fiestacasey