如何访问视图中的变量/返回值(方法),在Rails中创建新记录时声明?

时间:2013-07-10 10:08:35

标签: ruby-on-rails ruby r

我试图使用RinRuby从rails调用一些R函数。我创建了一个方法,具有R脚本和相关变量。工作流程就像是,用户上传数据文件,应用程序尝试编写并在公用文件夹中保存数据文件的副本。然后提取所需数据,映射到R变量并传递给R解释器。 R返回将以图形的形式显示在视图中的结果。一切都很好。我可以看到R从日志中返回输出。但我无法在视图中显示结果。

我从create动作调用方法(具有R脚本)并将返回的输出保存在实例变量中。我无法弄清楚如何使用此实例变量,因为它不在任何视图关联的操作中。我甚至不能使用before_filter选项,因为我希望在new和create操作之后调用此方法。我不希望在数据库中保存与数据文件相关的任何内容,除了用户表单中的一些输入。

任何人都可以建议一种在视图中显示输出的方法。代码可在此处获得: https://github.com/kumarsaurabh20/PlotApp/blob/master/app/controllers/plots_controller.rb

我正在使用Ruby 1.8.7和rails 2.3.11。

1 个答案:

答案 0 :(得分:0)

如果需要仅暴露于下一个动作,请使用闪光灯。

if @savedfile
  self.dataExtract(name)
  @result =  self.calTheta(id, name)
  logger.debug @result.to_s
  format.html { 
    flash[:notice] = 'Calibration data file is successfully saved.'
    flash[:result] = @result
    redirect_to :controller => "plots", :action => "index" 
  }
  format.xml  { render :xml => @plot, :status => :created, :location => @plot }
else
 ...