2016-03-07 34 views
0

我在我的網站上有一個管理頁面,允許我通過單擊鏈接加載種子。Rails加載種子 - 反饋

它只是調用:

Rails.application.load_seed 

問題是,沒有任何反饋,這種情況是 - 我想以某種方式看到頁面上的種子輸出(相同的,如果在命令行RAN) 。

有沒有辦法做到這一點,當鏈接被點擊?

回答

0

如果您關心頁面重新加載,您可以使用jquery對路由執行ajax post請求,運行腳本(它不需要在種子文件中 - 您可以在控制器中運行它您創建的動作),您正在運行以添加數據,然後在成功回調中追加結果。

+0

這是否意味着輸出將不斷顯示在屏幕上,與控制檯中的一樣?我希望用戶看到它,因爲它發生.. – user3437721

+0

用戶可以看到它發生。如果你希望它非常快速,就像堆棧跟蹤一樣......你可能想要把它分解成多個Ajax請求,這取決於我們正在討論的數據量。 – toddmetheny

0

如果通過「輸出」你的意思是(例如,使用的種子文件puts)打印到標準輸出的消息,你可能會搶在控制器中使用的代碼從this SO answer)輸出:

# controller: 
@output = with_captured_stdout { Rails.application.load_seed } 

但這隻會在加載完成後纔會顯示,您在此過程中不會收到任何信息。如果你需要這些,我認爲你需要一些流媒體技術。