2010-10-20 7 views
0

В Rails, если я создаю леску foo, и сделать rake db:migrate, то теперьВ Rails я подумал, что как только выполняется «Foo.all», загружается «models/foo.rb»?

app/models/foo.rb 

создается. Так что, если я иду в

script/console (or rails console for Rails 3) 

и тип

$".grep /foo/i 

он пуст. $" - это загруженные файлы. Так что foo.rb еще не загружен.

Теперь я делаю Foo.all, и foo.rb должен быть загружен сейчас.

Но когда я повторяю grep, он по-прежнему показывает пустой массив - почему?

(С другой стороны, я могу вычленить информацию pp, и он ничего не показывает, но после того как я require 'pp', то Grep показывает его)

ответ

2

Это зависит, которые environement вы используете.

Во время разработки требуется и загрузка только тогда, когда вы хотите и перезагружаете каждый раз. В режиме производства требуется только один раз и загрузка один раз. Это нагрузка на начало вашего приложения. Все модели на приложения/модели - это загрузка.

Конфигурация, чтобы сделать это: config.cache_classes = true

+0

вау, точный и точный ответ в течение 4 минут в 4:50 утра ... ой вы во Франции ... Вы использовали Rails в течение длительного времени, чтобы знать такие детали? –

+0

Я использую рельсы с 3 лет. Вы можете увидеть мою учетную запись github: http://github.com/shingara, чтобы узнать больше о моем коде. – shingara

 Смежные вопросы

  • Нет связанных вопросов^_^