我有这个观点new.html.erb
:
<h1>EVALUATING MODEL PERFORMANCE</h1>
<%= test %>
<%= "#{controller_name}/#{action_name}" %>
控制器为articles_controller.rb
:
class ArticlesController < ApplicationController
def new
y = R.pull "capture.output(summary(rnorm(10)))"
puts y
end
helper_method :test
def test
sample_size = 10
R.eval "x <- rnorm(#{sample_size})"
R.eval "summary(x)"
R.eval "sd(x)"
y = R.pull "capture.output(summary(rnorm(10)))"
puts y
end
end
为什么输出(如下所示:ruby in web)不包含test
方法的结果?
答案 0 :(得分:0)
您需要在return y
方法结束时test
。
puts
实际上没有返回任何内容(它返回nil
),它只是打印到控制台。因此,如果puts
是方法中的最后一项,则会返回它。但由于它不会返回任何内容,因此您无需显示任何内容。
通过返回y
,您的视图将能够显示字符串(尽管我希望格式化遍布整个地方)。