Rails加载种子 - 反馈

时间:2016-03-07 21:33:53

标签: ruby-on-rails

我的网站上有一个管理页面,允许我通过点击链接加载种子。

它只是打电话:

Rails.application.load_seed

问题是,没有反馈意见发生这种情况 - 我希望在页面上看到种子输出(就像在命令行中运行一样)。

单击链接时有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

如果您关心页面重新加载,您可以使用jquery对路径执行ajax post请求,运行脚本(它不需要在种子文件中 - 您可以在控制器操作中运行它你创建)你正在运行以添加数据,然后在你的成功回调附加结果。

答案 1 :(得分:0)

如果通过'输出'你的意思是打印到标准输出的消息(例如在种子文件中使用puts),你可以使用this SO answer中的代码获取控制器中的输出:

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

但这只会在加载完成后显示,在此过程中您不会获得任何信息。如果您需要,我认为您需要一些流媒体技术。