2016-05-27 16 views
0

我有此視圖new.html.erb視圖紅寶石:控制器在是helper_method未示出on Rails的

​​

控制器是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

您需要return y在您的test方法的末尾。 puts實際上並沒有返回任何東西(它返回nil),它只是打印到控制檯。所以如果puts是你方法中的最後一件事,它將被返回。但由於它不返回任何內容,因此您的視圖不會顯示任何內容。

通過返回y,您的視圖將能夠顯示字符串(雖然我希望格式化到處都是)。

+0

所以...我得到了輸出...但是正如你所說...輸出不是很好....如何讓它更像桌子?或至少只是ascci是好的....,謝謝你... –

+1

好吧你打印到一個HTML頁面,你需要解析它,並用html和erb寫它。你可以嘗試在它周圍放置一個'pre'標籤 – PhilVarg

+0

'pre'標籤在控制檯中不會顯示...我只想將控制檯的格式添加到網絡中......而我仍然不會理解 –