Savage Beast: Custom user model methods get lost

I'm currently trying to install savage beast and it has worked well to
the point that I'm able to post an read topics.

However, I've run into the following weirdness that I haven't been
able to figure out:

At the Forums' index view I get the following error (trace at the
bottom of my post):
"Showing vendor/plugins/savage_beast/app/views/forums/index.html.erb
where line #53 raised:
undefined method `display_name' for #<User:0x867efa0>"

What makes it totally weird is that face that I don't get this error
the first time I call this page after a fresh server start. The page
loads fine first (displaying the correct display_name) but then starts
to fail with this error on every call.

The line that fails is the following one:
"<%= 'by
{user}'[:by_user,"<strong>#{h(forum.recent_post.user.display_name)}</

"] %>"

I can change it to "forum.recent_post.user.login" or any other
database field and that works. The model correctly loads the database
fields and creates the methods to access them all. All methods i
defined in my app/model/user.rb are gone however.

I tried "forum.recent_post.user.instance_of? User" and that oddly
returns "false" ("true" right after a server reboot).

I tried this on Mongrel, WeBrick and Apache and the error is
consistent on all servers. I'm running Rails 2.0.2 and ruby 1.8.6.

Any suggestions on what could be wrong?

Here's the complete trace of the error:
vendor/rails/activerecord/lib/active_record/attribute_methods.rb:
205:in `method_missing'
vendor/rails/activerecord/lib/active_record/associations/
association_proxy.rb:125:in `send'
vendor/rails/activerecord/lib/active_record/associations/
association_proxy.rb:125:in `method_missing'
vendor/plugins/savage_beast/app/views/forums/index.html.erb:53:in
`_run_erb_47vendor47plugins47savage_beast47app47views47forums47index46html46erb'
vendor/plugins/savage_beast/app/views/forums/index.html.erb:27:in
`each'
vendor/plugins/savage_beast/app/views/forums/index.html.erb:27:in
`_run_erb_47vendor47plugins47savage_beast47app47views47forums47index46html46erb'
vendor/rails/actionpack/lib/action_view/base.rb:637:in `send'
vendor/rails/actionpack/lib/action_view/base.rb:637:in
`compile_and_render_template'
vendor/rails/actionpack/lib/action_view/base.rb:365:in
`render_template'
vendor/rails/actionpack/lib/action_view/base.rb:316:in `render_file'
vendor/rails/actionpack/lib/action_controller/base.rb:1100:in
`render_for_file'
vendor/rails/actionpack/lib/action_controller/base.rb:858:in
`render_with_no_layout'
vendor/rails/actionpack/lib/action_controller/base.rb:872:in
`render_with_no_layout'
vendor/rails/actionpack/lib/action_controller/layout.rb:262:in
`render_without_benchmark'
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in
`render'
C:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in
`render'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:131:in
`send'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:131:in
`custom'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:156:in
`call'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:156:in
`respond'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:150:in
`each'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:150:in
`respond'
vendor/rails/actionpack/lib/action_controller/mime_responds.rb:107:in
`respond_to'
vendor/plugins/savage_beast/app/controllers/forums_controller.rb:12:in
`index'
vendor/rails/actionpack/lib/action_controller/base.rb:1158:in `send'
vendor/rails/actionpack/lib/action_controller/base.rb:1158:in
`perform_action_without_filters'
vendor/rails/actionpack/lib/action_controller/filters.rb:697:in
`call_filters'
vendor/rails/actionpack/lib/action_controller/filters.rb:689:in
`perform_action_without_benchmark'
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
C:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in
`perform_action_without_caching'
vendor/rails/actionpack/lib/action_controller/caching.rb:678:in
`perform_action'
vendor/rails/activerecord/lib/active_record/connection_adapters/
abstract/query_cache.rb:33:in `cache'
vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in
`cache'
vendor/rails/actionpack/lib/action_controller/caching.rb:677:in
`perform_action'
vendor/rails/actionpack/lib/action_controller/base.rb:524:in `send'
vendor/rails/actionpack/lib/action_controller/base.rb:524:in
`process_without_filters'
vendor/rails/actionpack/lib/action_controller/filters.rb:685:in
`process_without_session_management_support'
vendor/rails/actionpack/lib/action_controller/session_management.rb:
123:in `process'
vendor/rails/actionpack/lib/action_controller/base.rb:388:in `process'
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:171:in
`handle_request'
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:115:in
`dispatch'
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:126:in
`dispatch_cgi'
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:9:in
`dispatch'
vendor/rails/railties/lib/fcgi_handler.rb:101:in `process_request'
vendor/rails/railties/lib/fcgi_handler.rb:149:in `with_signal_handler'
vendor/rails/railties/lib/fcgi_handler.rb:99:in `process_request'
vendor/rails/railties/lib/fcgi_handler.rb:77:in `process_each_request'
C:/ruby/lib/ruby/site_ruby/1.8/fcgi.rb:612:in `each_cgi'
C:/ruby/lib/ruby/site_ruby/1.8/fcgi.rb:609:in `each'
C:/ruby/lib/ruby/site_ruby/1.8/fcgi.rb:609:in `each_cgi'
vendor/rails/railties/lib/fcgi_handler.rb:76:in `process_each_request'
vendor/rails/railties/lib/fcgi_handler.rb:50:in `process!'
vendor/rails/railties/lib/fcgi_handler.rb:24:in `process!'
public/dispatch.fcgi:24

Adrian -

I'm currently trying to install savage beast and it has worked well to
the point that I'm able to post an read topics.

However, I've run into the following weirdness that I haven't been
able to figure out:

At the Forums' index view I get the following error (trace at the
bottom of my post):
"Showing vendor/plugins/savage_beast/app/views/forums/index.html.erb
where line #53 raised:
undefined method `display_name' for #<User:0x867efa0>"

What makes it totally weird is that face that I don't get this error
the first time I call this page after a fresh server start. The page
loads fine first (displaying the correct display_name) but then starts
to fail with this error on every call.

this 'feels' like a model reloading issue.

I haven't ported savage beast to rails 2.02 or the latest engines plugin - there's likely something going on.

I would head over the the engine's list and ask James about the behavior you're seeing. If you do come to a solution, I can roll the change in.

cheers,
Jodi

Thanks a lot, that got me on the right track!

I'm still not sure what's going on and I currently don't have the time
to look into it further. It seems to be related to a known engines
problem where models don't get reloaded.

It only affects development mode and I was able to fix it by adding
following lines to savage beast's init.rb: