小编Chr*_*ion的帖子

Ruby - 如何读取从文件到数组的前n行

出于某种原因,我找不到任何提及如何执行此操作的教程...那么,如何从文件中读取前n行?

我想出来:

while File.open('file.txt') and count <= 3 do |f|
  ...
    count += 1
  end
end
Run Code Online (Sandbox Code Playgroud)

但它不起作用,对我来说也不是很好看.

出于好奇,我尝试过这样的事情:

File.open('file.txt').10.times do |f|
Run Code Online (Sandbox Code Playgroud)

但那也没有用.

那么,有没有一种简单的方法来读取前n行而不必加载整个文件?非常感谢你!

ruby

8
推荐指数
2
解决办法
9246
查看次数

Ruby on Rails 4解析前3个RSS项目

我目前正在使用RoR 4创建一个网站,我希望在首页上包含我博客中的RSS.但是,目前我从博客中获取所有文章,而我只需要前3个.

我对rails非常陌生,我找不到任何关于如何做这些事情的指示.

我在控制器中的当前代码是:

  def index
    require 'rss'
        @rss = RSS::Parser.parse(open('FEED_URL').read, false)
  end
Run Code Online (Sandbox Code Playgroud)

我想我可以简单地@rss在解析完第三个元素之后剪切它,但在Ruby中我觉得有点脏.有没有更好的方法呢?

非常感谢你!

ruby rss ruby-on-rails ruby-on-rails-4

2
推荐指数
1
解决办法
3227
查看次数

pjax中的Pjax重新加载:完成

我正在尝试alerts在 pjax 请求后重新加载容器。我的目标是在发出任何 pjax 请求后重新加载容器的代码,因此我不必每次都单独调用它。

我有以下代码:

$(document).on('pjax:complete', function(event) {
        $.pjax.reload({container:"#alerts"});
});
Run Code Online (Sandbox Code Playgroud)

然而,这会使整个页面陷入永无休止的循环。

有没有办法让这个工作或者我不应该使用 pjax 来解决这个特定的问题?

非常感谢。

更新 以下代码有效,但我觉得这不是完美的解决方案:

var time = Date.now();
$(document).on(\'pjax:complete\' , function(event) {
    if(time <= Date.now()){ //Check if there has been a recent reload
        time = Date.now() + 1000;
        console.log(time);
        App.restartGlobalFunction();
        $.pjax.reload({container:"#alerts", async:false});
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript pjax yii2

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

ruby ×2

javascript ×1

pjax ×1

rss ×1

ruby-on-rails ×1

ruby-on-rails-4 ×1

yii2 ×1