Not sure if this is a bug, or what the correct behaviour should be.
Suppose that we have a parent and an inherited controller:
class TestController < ApplicationController
def filter
logger.debug "filter"
end
before_filter :filter, :only => [ :t1 ]
def t1
logger.debug "TestController t1"
render :text => ''t1''
end
end
class TestChildController < TestController
before_filter :filter, :only => [ :t3 ] # oops what should this do?
def t3
logger.debug "TestChildController t3"
render :text => "t3"
end
end
The idea here is that the child controller might want to reuse the
filter for its new ''t3'' action.
What happens though is rather unexpected:
Processing TestChildController#t1 (for 127.0.0.1 at 2007-08-06
20:09:13) [GET]
Session ID: 082b6fa688bac1b0b70baa770b5754ba
Parameters: {"action"=>"t1",
"controller"=>"test_child"}
TestController t1
<<<<<<<<<<<<<<<< filter not
called
Completed in 0.00010 (10000 reqs/sec) | Rendering: 0.00000 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/test_child/t1]
Processing TestChildController#t3 (for 127.0.0.1 at 2007-08-06
20:09:21) [GET]
Session ID: 082b6fa688bac1b0b70baa770b5754ba
Parameters: {"action"=>"t3",
"controller"=>"test_child"}
filter
filter <<<<<<<<<<<<<<<< why
called twice?
TestChildController t3
Completed in 0.00010 (10000 reqs/sec) | Rendering: 0.00000 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/test_child/t3]
One would expect that either the new :only overrides the previous one
and only t3 invokes the filter (sensical but not convenient) or the
new :only just adds the filter to t3 and keeps the filter on t1. Or is
using :only here inherently bad?
Thanks!
Jaime Cham
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---