【问题标题】:rails passing multiple params to controller将多个参数传递给控制器​​的导轨
【发布时间】:2015-10-11 05:56:50
【问题描述】:

我有一个查询“服务”模型的路由:

resources :services, :path => 'services'

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

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

【问题讨论】:

  • 你的问题不清楚。根据我对你的问题的理解。您可以传递多个参数,例如/services/sn-uber?service-district=sd-brooklyn
  • 是的,使用查询参数我可以很容易地做到这一点,但是没有它们怎么办? (用于 SEO 目的)
  • /services/:id(/:id_2) 它将允许您在此路线中传递 2 个或一个 id

标签: ruby-on-rails inherited-resources


【解决方案1】:

在您的路线中添加类似的内容:

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

您的网址将如下所示:

  • /services/sn/uber/sd/brooklyn
    • 参数将是sn_namesd_name
  • /services/sn/uber
    • 参数为sn_name
  • /services/sd/brooklyn
    • 参数为sd_name

如果你想保持你的网址像/services/sn-uber/sd-brooklyn

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2015-10-19
    相关资源
    最近更新 更多