RSRuby を使用して、Ruby と R を接続しようとしています。
私のapplication_controllerには次のものがあります:
def InitR
@r = RSRuby.instance
return @r
end
私が作るとき:
@r = InitR()
ブラウザで次のように表示されます: R Function "get" not found
コンソールには次のように表示されます。
NoMethodError (R Function "get" not found):
app/controllers/application_controller.rb:6:in `InitR'
app/controllers/diagnostic_controller.rb:32:in `generatePdf'
いくつかの投稿で見たように、スタック制限を変更しようとしましたが、何もしないようです。
誰か何か知っていますか?
これは、私のコードが ApplicationController でどのように表示されるかです。
class ApplicationController < ActionController::Base
protect_from_forgery
# Make R instance available to all
def initR
@r = RSRuby.instance
end
end
インスタンスを使用する DiagnosticController は次のとおりです。
def generatePdf
project = Project.find(session[:project_id])
pdf = Prawn::Document.new
sentence = RSentence.find_by_name("library").content.gsub("LIBRARY", "lattice")
pdf.text sentence
pdf.render_file project.name.to_s + ".pdf"
@r = initR
@r.eval_R(sentence)
redirect_to :controller => "diagnostic", :action => "index"
end
RSRuby.instance を呼び出すと例外が発生する