我的网站上有一个管理页面,允许我通过点击链接加载种子。
它只是打电话:
Rails.application.load_seed
问题是,没有反馈意见发生这种情况 - 我希望在页面上看到种子输出(就像在命令行中运行一样)。
单击链接时有没有办法做到这一点?
答案 0 :(得分:0)
如果您关心页面重新加载,您可以使用jquery对路径执行ajax post请求,运行脚本(它不需要在种子文件中 - 您可以在控制器操作中运行它你创建)你正在运行以添加数据,然后在你的成功回调附加结果。
答案 1 :(得分:0)
如果通过'输出'你的意思是打印到标准输出的消息(例如在种子文件中使用puts
),你可以使用this SO answer中的代码获取控制器中的输出:
# controller:
@output = with_captured_stdout { Rails.application.load_seed }
但这只会在加载完成后显示,在此过程中您不会获得任何信息。如果您需要,我认为您需要一些流媒体技术。