This is on an app that successfully runs Engines 1.2, and Rails
1.2.6.... but ported to Engines 2.0.0-RC1, and Rails 2.0.1.
Added the engines boot.rb line to environment.rb after the existing
boot require. The engines init.rb has not been changed, and sets:
Rails.plugins[:project].code_paths << "app/interests" << "app/
apis" (which can be called via Engine.plugins now... but same
exception is thrown).
init.rb:20:in `evaluate_init_rb': You have a nil object when you
didn't expect it! (NoMethodError)
The error occurred while evaluating nil.code_paths from ./
script/../config/../vendor/rails/railties/lib/rails/plugin.rb:79:in
`evaluate_init_rb'
from /projects/vendor/rails/activesupport/lib/active_support/
core_ext/kernel/reporting.rb:11:in `silence_warnings'
from ./script/../config/../vendor/rails/railties/lib/rails/
plugin.rb:75:in `evaluate_init_rb'
from ./script/../config/../vendor/rails/railties/lib/rails/
plugin.rb:39:in `load'
from /projects/config/../vendor/plugins/engines/lib/engines/
plugin.rb:77:in `load'
from ./script/../config/../vendor/rails/railties/lib/rails/
plugin/loader.rb:33:in `load_plugins'
from ./script/../config/../vendor/rails/railties/lib/rails/
plugin/loader.rb:32:in `each'
from ./script/../config/../vendor/rails/railties/lib/rails/
plugin/loader.rb:32:in `load_plugins'
... 30 levels...
from /projects/vendor/rails/activesupport/lib/active_support/
dependencies.rb:496:in `require'
from /projects/vendor/rails/railties/lib/commands/server.rb:39
from script/server:3:in `require'
from script/server:3
No time to debug at the moment, as this isn't a priority... but, just
wanted to get this out there if this is a known issue, or anybody has
any suggestions.
Cheers !
==
Dylan
on 2007-12-14 04:51
on 2007-12-14 10:46
Hi Dylan, yes, I think you actually have to change your init.rb files. Instead of: > Rails.plugins[:project].code_paths << "app/interests" << "app/ > apis" try: code_paths << "app/interests" << "app/apis" This is because the Rails plugin loading mechanism has changed a lot. Contrary to Rails 1.2.x the init.rb file is now evalutated inside of the Plugin object. The Plugin object is then added to Engines.plugins after that. So it is not available in Engines.plugins in init.rb. The cool thing about this change is that you can access all the Plugin methods from within init.rb now. Hmm, we probably should put that into some kind of upgrade note. Or even a rake task that goes through the init.rb files and removes those bits like Rails.Engines[:name]? But maybe that's not worth the hassle? Am 14.12.2007 um 04:50 schrieb Dylan Stamat: > didn't expect it! (NoMethodError) > plugin.rb:77:in `load' > from script/server:3:in `require' > Engine-Developers@lists.rails-engines.org > http://lists.rails-engines.org/listinfo.cgi/engine... -- sven fuchs svenfuchs@artweb-design.de artweb design http://www.artweb-design.de grünberger 65 + 49 (0) 30 - 47 98 69 96 (phone) d-10245 berlin + 49 (0) 171 - 35 20 38 4 (mobile)
on 2007-12-21 16:41
I thoroughly enjoy automation, or at least a deprecation notice to let ya know. I'm just trying one of my projects on Rails 2 and Engines haven't toyed with it much at all, but default install doesn't work. Is there an upgrade script we could manifest? I'm not sure of the exact updates yet, so I'll be fishing for a bit.
on 2007-12-22 22:36
On Dec 21, 2007 3:14 PM, Nathaniel Brown <nshb@inimit.com> wrote: > I thoroughly enjoy automation, or at least a deprecation notice to let ya > know. I'm just trying one of my projects on Rails 2 and Engines haven't > toyed with it much at all, but default install doesn't work. Hence the "ish" part of "2.0 ish". Alas, some things just aren't possible in Rails 2.0, but yes, they should certainly be documented. I'd rather provide documentation than an upgrade script, and trust developers to figure out how things apply to their own code.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.