Stanford Core NLP gem を使用して単純なアプリケーションを作成しています。
私の単純な HTML フォームには "/new" にテキスト ボックスがあり、次のようにコントローラーでビューをレンダリングします。
def create
@text = Text.new(text_params)
if @text.save
redirect_to text_path(@text)
else
render "new"
end
end
def show
@text = Text.find(params[:id])
@text = @text.pos_tagger(@text)
end
NLP コア gem から何らかの出力を取得できることを確認するために、これが私の Text モデルです。
class Text < ActiveRecord::Base
def pos_tagger (text)
require 'stanford-core-nlp'
pipeline = StanfordCoreNLP.load(:tokenize, :ssplit, :pos, :lemma, :parse, :ner, :dcoref)
text = StanfordCoreNLP::Annotation.new(text)
newtext = pipeline.annotate(text)
return newtext
end
end
アプリを実行すると、次のエラーが表示されたときに表示ページに到達するまで、すべて問題ありません。
TextsController#show による処理 HTML パラメータ: {"id"=>"5"} テキスト読み込み (0.4ms) SELECT "texts".* FROM "texts" WHERE "texts"."id" = ? LIMIT 1 [["id", "5"]] トレース/BPT トラップ: 5
アプリケーションが終了します。
私は何を間違っていますか?