ruby-on-rails – 在开发模式下,Rails3不会在lib中重新加载代码
发布时间:2020-12-16 20:41:05 所属栏目:百科 来源:网络整理
导读:情况: 我在lib / foo / bar.rb中使用一个简单的方法定义了这样的代码: module Foo class Bar def test "FooBar" end endend 在我的帮手中,FooBarHelper,我有: require `lib/foo/bar`module FooBarHelper def test_foo_bar fb = Foo::Bar.new fb.test ende
情况:
>我在lib / foo / bar.rb中使用一个简单的方法定义了这样的代码: module Foo class Bar def test "FooBar" end end end 在我的帮手中,FooBarHelper,我有: require `lib/foo/bar` module FooBarHelper def test_foo_bar fb = Foo::Bar.new fb.test end end >在我看来,我称之为helper方法如下: <%= test_foo_bar => >在我的config / environments / development.rb中,我将目录添加到我的config.autoload_paths中: config.autoload_paths += ["#{config.root}/lib/foo"] 问题: 当我将Foo :: Bar.test的返回值更改为例如“MODIFIED FOOBAR”时,原始返回值“FooBar”仍然在视图上显示,而不是新值. 由于我处于开发模式,代码在每个请求上都不要重新加载代码? 有人可以告诉我我失踪了吗? 谢谢! 解决方法
他们删除了Rails 3中的应用程序根目录lib文件夹.
您可以将其添加回来 config.autoload_paths << 'lib' 或者你可以在你的帮助器中使用`require_dependency`. module FooBarHelper require_dependency 'foo/bar' def test_foo_bar fb = Foo::Bar.new fb.test end end 两种方式告诉Rails您的文件lib / foo / bar.rb应该被自动加载,并随后重新加载每个请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |