Ruby on rails 在Rails中,我曾经认为;Foo.all“;执行,然后;型号/foo.rb“;有货吗?

Ruby on rails 在Rails中,我曾经认为;Foo.all“;执行,然后;型号/foo.rb“;有货吗?,ruby-on-rails,ruby-on-rails-3,include-path,load-path,Ruby On Rails,Ruby On Rails 3,Include Path,Load Path,在Rails中,如果我创建一个scaffoldfoo,并执行rakedb:migrate,那么现在 app/models/foo.rb 是创建的。所以如果我去 script/console (or rails console for Rails 3) 和类型 $".grep /foo/i 它是空的$“是加载的文件。因此foo.rb尚未加载 现在我执行一个Foo.all,现在应该加载Foo.rb了 但是当我重复grep时,它仍然显示空数组——这是为什么 (另一方面,我可以grep for

在Rails中,如果我创建一个scaffold
foo
,并执行
rakedb:migrate
,那么现在

app/models/foo.rb
是创建的。所以如果我去

script/console   (or rails console for Rails 3)
和类型

$".grep /foo/i
它是空的<代码>$“是加载的文件。因此foo.rb尚未加载

现在我执行一个
Foo.all
,现在应该加载Foo.rb了

但是当我重复
grep
时,它仍然显示空数组——这是为什么


(另一方面,我可以grep for
pp
,它不显示任何内容,但在我
要求'pp'
之后,grep就会显示它)

这取决于您使用的环境

在开发阶段,只有在您需要时才需要并加载它,并且每次都要重新加载。 在生产模式下,只需要一次,加载一次。它是在应用程序启动时加载的。应用程序上的所有模型/模型都是加载的


这样做的配置是:
config.cache\u classes=true

哇,凌晨4:50分4分钟内就得到了准确的答案……哦,你在法国……你使用Rails很长时间了吗?我使用Rails已经3年了。你可以查看我的github帐户:了解有关我的代码的更多信息。