Hi,
I want to redistribute incoming requests to different controllers,
e.g. depending upon the request's user id a request should be
dispatched to user_owner_controller or user_other_controller.
So far I've just extended RouteSet to ask the controller which in turn
should return the 'real' controller that should be executed:
ActionController::Routing::RouteSet.class_eval do
alias_method :recognize_orig, :recognize
def recognize(request)
controller = recognize_orig(request)
if defined? controller.acl then
controller.acl
else
controller
end
end
end
I've got the following problem: in the controller's acl method neither
session nor param is populated. Is there any way to create those
hashes?
Or: is there a better way to accomplish the needed behaviour?
Hi,
I want to redistribute incoming requests to different controllers,
e.g. depending upon the request's user id a request should be
dispatched to user_owner_controller or user_other_controller.
I don't really understand the reason you want to work like that.
If the function of the two controllers are different,
then it seems fair enough to have two different paths.
I don't know the context of your site,
but if you think of facebook,
two ways of looking at the same profile,
but approaching it in two different ways,
has two different urls.
Else, just redirect the "user_owner" to a different controller,
if they're the owner,
they're probably happy to move to a "/owner" url temporarily,
and you can make sure all the urls they could click on would go here
directly.