Yeah, I noticed this too. I think it has to do with Rails rather than
Engines... might even be a bug. I noticed in the changelog that the
controller instance variable inside sweepers is set to nil "between
requests"... whatever that means. I figure that's what's causing the
error, but I haven't figured out how to fix it or even looked into
whether its a reported bug. I just have my sweepers turned off for
now. : (

Let me know if you learn anything about this.

On 4/10/06, Martin Scheffler <[EMAIL PROTECTED]> wrote:
> Hi all,
> I updated Rails to 1.1.1 and engines to 1.1.1.
> Since then, my cache sweepers stopped working.
> I get this error:
> You have a nil object when you didn't expect it!
> The error occured while evaluating nil.controller_name
>
> See end of post for full error trace.
>
> When I move the controller from vendor/plugins/myengine/app/controllers
> to app/controllers, everything works fine, so I guess it's an engine
> bug.
>
>
>
> Controller:
>
> class TestController < ApplicationController
>
>   layout false
>   helper :admin_pages
>   model :page_element, :element_sweeper
>   cache_sweeper :element_sweeper
>   def test
>
>   render :inline=>"blaa"
>   end
> end
>
> Sweeper:
>
>  class ElementSweeper < ActionController::Caching::Sweeper
>   observe PageElement
> end
>
>
>
> Errors:
>
> NoMethodError (You have a nil object when you didn't expect it!
> The error occured while evaluating nil.controller_name):
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/caching.rb:541:in
> `callback'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/caching.rb:534:in
> `after'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:227:in
> `around_filter'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:227:in
> `call'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:401:in
> `call_filters'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:394:in
> `each'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:394:in
> `call_filters'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:389:in
> `after_action'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:369:in
> `perform_action_without_benchmark'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/benchmarking.rb:69:in
> `perform_action_without_rescue'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/benchmarking.rb:69:in
> `measure'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/benchmarking.rb:69:in
> `perform_action_without_rescue'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/rescue.rb:82:in
> `perform_action'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/base.rb:381:in
> `send'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/base.rb:381:in
> `process_without_filters'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/filters.rb:377:in
> `process_without_session_management_support'
>     
> /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.1/lib/action_controller/session_management.rb:117:in
> `process'
>     /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/dispatcher.rb:38:in
> `dispatch'
>     /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:115:in
> `handle_dispatch'
>     /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:81:in
> `service'
>     /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
>     /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
>     /usr/lib/ruby/1.8/webrick/server.rb:155:in `start_thread'
>     /usr/lib/ruby/1.8/webrick/server.rb:144:in `start'
>     /usr/lib/ruby/1.8/webrick/server.rb:144:in `start_thread'
>     /usr/lib/ruby/1.8/webrick/server.rb:94:in `start'
>     /usr/lib/ruby/1.8/webrick/server.rb:89:in `each'
>     /usr/lib/ruby/1.8/webrick/server.rb:89:in `start'
>     /usr/lib/ruby/1.8/webrick/server.rb:79:in `start'
>     /usr/lib/ruby/1.8/webrick/server.rb:79:in `start'
>     /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/webrick_server.rb:67:in
> `dispatch'
>     /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/servers/webrick.rb:59
>     /usr/lib/ruby/1.8/rubygems/custom_require.rb:21:in `require__'
>     /usr/lib/ruby/1.8/rubygems/custom_require.rb:21:in `require'
>     
> /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
> `require'
>     /usr/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/server.rb:30
>     /usr/lib/ruby/1.8/rubygems/custom_require.rb:21:in `require__'
>     /usr/lib/ruby/1.8/rubygems/custom_require.rb:21:in `require'
>     
> /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
> `require'
>     script/server:3
>
>
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> engine-developers mailing list
> [email protected]
> http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org
>


--
Jeff Lindsay
http://blogrium.com/
_______________________________________________
engine-developers mailing list
[email protected]
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org

Reply via email to