# How to handle a non existing action in a controller?

**URL:** <https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342>\
**Category:** Rails\
**Created:** [December 29, 2005, 10:53pm UTC](https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342 "2005-12-29T22:53:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/9f8e36/32.png) [@rick](https://www.ruby-forum.com/u/rick)\
**Post date:** [December 29, 2005, 10:53pm UTC](https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342/1 "2005-12-29T22:53:58Z")

</div>

Hello, i’m currently building a website in which i have to customise the  
url to the data.

An example:  
i have a company which is situated in Amsterdam and it’s name is Ruby,  
then i would like to have the following URL:

/companies/amsterdam/ruby/

But since there are a lot of cities that have companies i can’t make a  
define for all of these.

How to fix?

Thanks in advance,

Rick

---

<div class="post-metadata">

**Author:** ![rick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/9f8e36/32.png) [@rick](https://www.ruby-forum.com/u/rick)\
**Post date:** [December 29, 2005, 11:55pm UTC](https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342/2 "2005-12-29T23:55:55Z")

</div>

Anyone? 🙂

---

<div class="post-metadata">

**Author:** ![rick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/9f8e36/32.png) [@rick](https://www.ruby-forum.com/u/rick)\
**Post date:** [December 30, 2005, 12:35am UTC](https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342/3 "2005-12-30T00:35:09Z")

</div>

def method\_missing(method)  
end

---

<div class="post-metadata">

**Author:** ![rick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/9f8e36/32.png) [@rick](https://www.ruby-forum.com/u/rick)\
**Post date:** [December 30, 2005, 12:36am UTC](https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342/4 "2005-12-30T00:36:15Z")

</div>

You could set up a route in config/routes.rb something like:

map.connect ‘/companies/:city/:company\_name’,  
:controller =\> ‘companies’,  
:action =\> ‘show’

That would give you params[:city] and params[:company\_name] to work  
with. So in your controller you could do something like:

class CompaniesController \< ApplicationController  
def show  
@company = Company.find\_by\_name(params[:company\_name])  
@city = City.find\_by\_name(params[:city])  
end  
end

Hope that is a start.

---

<div class="post-metadata">

**Author:** ![rick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/9f8e36/32.png) [@rick](https://www.ruby-forum.com/u/rick)\
**Post date:** [December 30, 2005, 2:28pm UTC](https://www.ruby-forum.com/t/how-to-handle-a-non-existing-action-in-a-controller/51342/5 "2005-12-30T14:28:48Z")

</div>

Thanks a lot for the feedback, i got it working now!
