Ruby on rails 如何在rails 3中呈现视图后调用方法
我有一个任务,大约需要20-30秒。我希望在渲染视图后立即运行此任务。我希望此任务的输出存储在会话变量中。最简单的方法是什么 确切地解释我需要什么。我向用户显示了一个tweet列表(这是呈现的视图),用户必须浏览这些tweet。我希望在呈现此视图后调用一个方法,该方法将接收相同的tweet并对它们进行集群(20-30秒的过程)。我应该在会话中有集群的结果,以便在下一页中显示它们Ruby on rails 如何在rails 3中呈现视图后调用方法,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个任务,大约需要20-30秒。我希望在渲染视图后立即运行此任务。我希望此任务的输出存储在会话变量中。最简单的方法是什么 确切地解释我需要什么。我向用户显示了一个tweet列表(这是呈现的视图),用户必须浏览这些tweet。我希望在呈现此视图后调用一个方法,该方法将接收相同的tweet并对它们进行集群(20-30秒的过程)。我应该在会话中有集群的结果,以便在下一页中显示它们 我该怎么做 您应该能够在渲染视图的控制器方法中执行此操作。只需在“render”调用之后添加代码。例如: def
我该怎么做 您应该能够在渲染视图的控制器方法中执行此操作。只需在“render”调用之后添加代码。例如:
def index
@tweets = Tweet.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @tweets }
end
# do something with tweets
puts "#{@tweets}"
end
这就是我解决问题的方法
resque
。在调用渲染之前,我将任务排入队列它并不完美,但对于一个研究反馈收集工具来说速度足够快。如果视图已经呈现,任务如何将结果存储到会话中?(请记住,会话现在默认情况下作为cookie处理…)在我的情况下,会话由active_record处理。即使我可以运行一个方法,我也可以。现在我将把结果存储在一些简单的tmp文件中。我想我的答案是使用Resque或任何后台工作。