"map.resources :customers" and custom methods

Hi

We’re using map.resources :customers to give an external
application access to our customers table. In addition to the
standards methods like index/new/show etc… we would like to
implement some custom methods.

For example one custom method could be the case when you want to
return all customers with a specific lastname instead of just all
customers or one specific customers.

So I implemented a method searchCustomers which takes the respective
lastname param for searching the database. Now that method doesn’t
work because rails tries to map the searchCustomer?
customer[lastname]=xy to an ID.

Do I need to have a separate controller for these methods? or am I
missing something

Use the :collection option in map.resources (api.rubyonrails.org). And
consider giving it a better name than searchCustomers.

Rein

So I implemented a method searchCustomers which takes the respective
lastname param for searching the database. Now that method doesn’t
work because rails tries to map the searchCustomer?
customer[lastname]=xy to an ID.

I don’t know if you’d like to approach it the same way I did, but here
goes.

I use the index method for my searches. I check if there are search
params
in the request, and modify my find accordingly.

Regards,
Franz

On Mon, Aug 18, 2008 at 11:36 AM, Franz S.
[email protected] wrote:

I use the index method for my searches. I check if there are search params
in the request, and modify my find accordingly.

Me too. From a REST view it is fine to think about search as getting
the collection of resources (index) scoped by a “search” param.

Agreed.