helper_method中的控制器没有显示Ruby on Rails的视图

时间:2016-05-27 15:49:01

标签: ruby-on-rails ruby ruby-on-rails-3

我有这个观点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方法的结果?

1 个答案:

答案 0 :(得分:0)

您需要在return y方法结束时testputs实际上没有返回任何内容(它返回nil),它只是打印到控制台。因此,如果puts是方法中的最后一项,则会返回它。但由于它不会返回任何内容,因此您无需显示任何内容。

通过返回y,您的视图将能够显示字符串(尽管我希望格式化遍布整个地方)。