# Calling RESTful 'scoped' INDEX when params\[:parent.id\] is no

**URL:** <https://www.ruby-forum.com/t/calling-restful-scoped-index-when-params-parent-id-is-no/107235>\
**Category:** Rails\
**Created:** [June 19, 2007, 1:50pm UTC](https://www.ruby-forum.com/t/calling-restful-scoped-index-when-params-parent-id-is-no/107235 "2007-06-19T13:50:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 19, 2007, 1:50pm UTC](https://www.ruby-forum.com/t/calling-restful-scoped-index-when-params-parent-id-is-no/107235/1 "2007-06-19T13:50:31Z")

</div>

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 directly 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 by simple displaying all records irrespective of parent.id.  
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  
@portals = @project.portals.find :all

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

def index  
if @project.nil?  
@portals = Portal.find :all  
else  
@portals = @project.portals.find :all,  
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 ‘removed\_email\_address@domain.invalid’ or whatever is needed to  
feed  
the if, else routine (above)?

Thank you,  
Kathy
