小编Ste*_*son的帖子

Rails:迭代一个类型的所有对象,而不是一次加载它们

class Car << ActiveRecord::Base
end

Car.all.each do |car|
  # do stuff
end
Run Code Online (Sandbox Code Playgroud)

这会将Car类型的所有对象加载到内存中(我认为)并遍历它们.我想要的是迭代所有id并一次加载一个,如下所示:

Car.all_ids.each do |id|
  c = Car.find id
  # do stuff
end
Run Code Online (Sandbox Code Playgroud)

但是all_ids不存在,是否存在等价物?

ruby-on-rails

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

Ruby正则表达式:^匹配行的开头,即使没有m修饰符?

Ruby 1.8.7.我正在使用带有^的正则表达式来匹配字符串开头的模式.问题是,如果在字符串中的任何行的开头找到模式,它仍然匹配.如果我使用'm'修饰符,这是我期望的行为,但我不是:

$ irb
irb(main):001:0> str = "hello\ngoodbye"
=> "hello\ngoodbye"
irb(main):002:0> puts str
hello
goodbye
=> nil
irb(main):004:0> str =~ /^goodbye/
=> 6
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

ruby regex

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

当我删除.emacs时,如何从Emacs写.emacs

我有Emacs打开但不小心我删除了它启动时读取的.emacs文件.这代表了大约15年的调整.(我知道,我知道,备份.)

有没有办法让Emacs写出我删除的.emacs文件?

我通常不会问这么蹩脚的问题,但我知道在Emacs会议结束之前我只有一天左右.

emacs

6
推荐指数
2
解决办法
580
查看次数

Rails 6 和 Turbolinks:在加载新的 \&lt;head&gt; 脚本之前触发 'turbolinks:load'

我有一个 Rails 6 项目。当使用 Turbolink 加载页面时,turbolinks:load事件会在 <head> 脚本合并并执行之前触发。这些脚本中的事件监听器永远不会被执行,因为它们是在事件发生后添加的。

例如,布局的 <head> 部分包含以下内容的页面:

    = javascript_pack_tag 'application', 'data-turbolinks-track': 'reload', defer: 'defer'
    = yield :extra_head
Run Code Online (Sandbox Code Playgroud)

页面顶部是这样的:

- content_for :extra_head do
  = javascript_pack_tag 'club_edit'
Run Code Online (Sandbox Code Playgroud)

生成这个 html:

<script src="/packs/js/application-629a480faedfc40e8948.js" data-turbolinks-track="reload" defer="defer"></script>
<script src="/packs/js/club_edit-8d7d256609de3b852df1.js"></script>
Run Code Online (Sandbox Code Playgroud)

club_edit.js 文件添加一个侦听器来turbolinks:load调用名为init()

document.addEventListener('turbolinks:load', init);
Run Code Online (Sandbox Code Playgroud)

当我“正常”加载页面时,它会按预期工作并且该init()函数会被调用。但是,如果我从 Turbolinks 链接加载它,它会执行 xhr 调用,并turbolinks:load在添加侦听器之前触发事件。

我应该做什么来确保init()函数以任何一种方式被调用?

javascript ruby-on-rails turbolinks

5
推荐指数
0
解决办法
897
查看次数

标签 统计

ruby-on-rails ×2

emacs ×1

javascript ×1

regex ×1

ruby ×1

turbolinks ×1