rails将多个参数传递给控制器

时间:2015-07-21 16:37:51

标签: ruby-on-rails inherited-resources

我有一条查询路线"服务"模型:

resources :services, :path => 'services'

当路径/services/sn-uber的GET请求时,我采用param sn(服务名称)并在数据库中找到它。如何添加另一个像sd(服务区)的参数?

例如/services/sn-uber/sd-brooklyn/services/sd-brooklyn,因此可以省略任何参数。

1 个答案:

答案 0 :(得分:1)

在您的路线中添加以下内容:

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

您的网址将如下所示:

  • /services/sn/uber/sd/brooklyn
    • params将为sn_namesd_name
  • /services/sn/uber
    • param将为sn_name
  • /services/sd/brooklyn
    • param将为sd_name

如果您想保留您的网址/services/sn-uber/sd-brooklyn

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