ПОЛОЖЕНИЕ:Rails3 не перегрузочные код в Lib в режиме разработки
У меня есть код в
lib/foo/bar.rb
с помощью простого метода, определенного как таковой:module Foo class Bar def test "FooBar" end end end
В моем помощнике, , У меня есть:
require `lib/foo/bar` module FooBarHelper def test_foo_bar fb = Foo::Bar.new fb.test end end
На мой взгляд, я называю это вспомогательный метод, как так:
<%= test_foo_bar =>
В моей
config/environments/development.rb
я добавил каталог в мойconfig.autoload_paths
:config.autoload_paths += ["#{config.root}/lib/foo"]
ПРОБЛЕМА :
Wh ru Я изменяю возвращаемое значение Foo::Bar.test
, например, "MODIFIED FOOBAR"
, исходное возвращаемое значение, "FooBar"
, по-прежнему отображается в представлении, а не в новом значении.
Поскольку я в режиме разработки, не должен ли код перезагрузить код по каждому запросу?
Может ли кто-нибудь сказать мне, что мне не хватает?
Спасибо!
Спасибо за ответ Самуил! Разве я не использую ваше первое предложение? Должен ли я использовать оператор '<<' вместо fo '+ ='? Я думал, что они эквивалентны. – John
Для вашей цели они одинаковы. Разница заключается в том, что вы хотите, чтобы 'lib' был автоматически загружен, чтобы он мог найти исходный файл' foo/bar.rb' для константы 'Foo :: Bar'. – Samuel
Я обновил раздел «СИТУАЦИЯ» своего сообщения, чтобы было легче разобрать. См. Часть 4. – John