Not sure about this, the second part (is this outer-most?) can return empty array which is not ```present?``` but is ```true```
One thing I could do is this 
```ruby
if (parent = params[:parent_fact] && @parent = ::FactName.find_all_by_name(parent)).present?
```
but when empty string would come as a :parent_fact parameter, the unnecessary SQL query would be made