在我们团队将Rails应用程序升级到4.2版本后,正如发布说明提到的那样,rails server
默认绑定的IP从0.0.0.0
改为了localhost
。
我们使用Vagrant进行开发,并希望可以直接从主机上的浏览器访问开发服务器。
我想知道是否有更加优雅的解决方案,而不是每次都要输入rails s -b 0.0.0.0
,这样我们仍然可以使用rails s
来启动服务器。 可能的解决方案包括:
- 一个配置文件,
rails s
可以读取并在其中修改默认绑定的IP(而无需使用-c
) - 使用Vagrant进行端口转发(已尝试但失败,下面看到了遇到的问题)
- 对Rack进行Monkey Patch,以更改默认绑定的IP
真正的目标是使我们团队内的升级过程变得顺畅,避免因缺少-b 0.0.0.0
而不得不不断重启Rails服务器的问题。
我尝试了Vagrant的端口转发,但在主机上访问localhost:3000
时仍然出现Connection Refused
的错误。 我尝试过的两行配置代码是:
config.vm.network "forwarded_port", guest: 3000, host: 3000
config.vm.network "forwarded_port", guest: 3000, guest_ip: '127.0.0.1', host: 3000
在官方文档中没有找到任何相关的说明。 感谢任何帮助。
batch_size
,以指定每个批次中要加载的记录数。这些方法也现在返回一个 Enumerator 对象,使它们更易于使用。例如:Person.where("age > 21").find_each(batch_size: 5000) do |person| # ... end Person.where("age > 21").find_in_batches(batch_size: 5000) do |people| people.each { |person| puts person.name } end
- akostadinovHOST=0.0.0.0
,Rails开发服务器会自动使用此值。 - Topher Hunt