pvf
pvf

Reputation: 82

rails passing multiple params to controller

I have a route for querying "Service" model:

resources :services, :path => 'services'

When GET requests for path /services/sn-uber i take param sn(service name) and find it in database. How to add there another param like sd(service-district)?

For example /services/sn-uber/sd-brooklyn or /services/sd-brooklyn so any param could be omitted.

Upvotes: 1

Views: 829

Answers (1)

Rémi Delhaye
Rémi Delhaye

Reputation: 814

Add something like this to your routes:

get 'services(/sn/:sn_name)(/sd/:sd_name)', controller: 'services', action: 'show'

Your url will look like:

  • /services/sn/uber/sd/brooklyn
    • params will be sn_name and sd_name
  • /services/sn/uber
    • param will be sn_name
  • /services/sd/brooklyn
    • param will be sd_name

If you want to keep your url like that /services/sn-uber/sd-brooklyn:

get 'services(/:sn_name)(/:sd_name)', controller: 'services', action: 'show'

Upvotes: 2

Related Questions