Calling RESTful 'scoped' INDEX when params[:parent.id] is not present?

Jordon,     I have a VERY hierchical database and am using a RESTful approach. Normally, when users' enter the system they'll cascade from level to level in the database and thus the hierchical information such as child.parent.grandchild_id are always available to the RESTful routes. However, when I attempt to simply call a middle level table.index I obviously fail, because the parent_id is not available to pass to the RESTful route. I'd like to have a 'safety mechanism' built into my code that handles this, and provide the pieces that describe the problem.     Here is an example of my before_filter event and the way I use it to call my index:

def find_parent @find_parent || @project = Project.find(params[:project_id]) end

Here is a typical table.index action:

def index @portal_pages = Paginator.new self, @project.portals.count, 3, params[:page] @portals = @project.portals.find :all, :order => 'description', :limit => @portal_pages.items_per_page, :offset => @portal_pages.current.offset respond_to do |format| format.html # index.rhtml format.xml { render :xml => @portals.to_xml } end end

Would it be reasonable to make the INDEX code something like this;

def index if @project.nil? @portal_pages = Paginator.new self, Portal.count, 3, params[:page] @portals = Portal.find :all, :order => 'description', :limit => @portal_pages.items_per_page, :offset => @portal_pages.current.offset else @portal_pages = Paginator.new self, @project.portals.count, 3, params[:page] @portals = @project.portals.find :all, :order => 'description', :limit => @portal_pages.items_per_page, :offset => @portal_pages.current.offset end respond_to do |format| format.html # index.rhtml format.xml { render :xml => @portals.to_xml } end end

    Fundumentally, what 'blows my mind' is that the 'find_parent' 'before_filter' event ALWAYS has to fire and if no parent exists, I can't see how to return a '@project.nil' or whatever is needed to feed the if, else routine (above)?

Thank you, Kathy