在Ruby on Rails 3.2+中传输部分视图

时间:2012-04-03 08:39:41

标签: ruby-on-rails streaming partial-views ruby-on-rails-3.2

我正在寻找一种在Rails 3.2+中流式传输部分视图的方法。目前支持流式传输仅支持通过提供从模板中布局部件。 但是说我在博客页面上有 n 帖子,每个帖子都是在大约300毫秒内部分生成的(请不要问为什么这么长)并且我希望用户立即开始阅读第一篇文章它准备好了。

现在可以在铁轨中使用吗?有没有办法明确“刷新”生成的输出,就像在php?

1 个答案:

答案 0 :(得分:0)

不确定你的控制器中有什么加载方案,所以我很好奇。我个人只会提前几个“帖子”,因为你想提供一个愉快的用户体验。

所以我会尝试这样的事情(伪):

控制器与放大器;助手:

def index
  @posts = Posts.load_active
  #other control logic
end

def self.load_active
  @posts.find(:all, :conditions => "whatevs:, :limit => your_magic_number)
end

def load_next(pointer)
     @posts.find(:all, :conditions =>  ["index > (?)", pointer], :limit => ymn)
end

这一切的关键是将所有这些联系起来的javascript。我很好奇你是如何处理这个问题的,希望你可以想象一下你可以根据阅读器的当前位置主动呼叫更新的场景。

还要解决关于同等替换的观点。不幸的是,Rails不支持流式常规请求。但是,如果你还没有检查过1,你可能想要查看[Action Controler :: Streaming]之类的内容。既然你有> 3.1,你也可以使用它。

如果您有任何问题,我会尽力协助您。对不起,如果我的伪代码对于描述来说太简短了