如何调整此路线以便传递其他参数?

时间:2012-06-11 18:09:39

标签: ruby-on-rails ruby-on-rails-3 routes

我不明白嵌套路线的必要性。我理解Rails路线有很多东西。

以下是我在Rails 3.2应用程序中的简单设置:

Categories habtm Products

在routes.rb中:

resources :categories do
  member do
    get 'list_products_in'
    post 'add_to'
    post 'remove_from'
  end
end

resources :products

我基本上创建了一个页面,可以将产品添加到类别中。顶部有一个包含产品的选择框,底部是列表。要将产品添加到列表,请从选择框中选择一个,然后单击“添加”按钮。 “add_to”是通过Ajax调用的。效果很好。

我的问题是,为了让这个应用程序优雅地降级,我希望它在没有Ajax的情况下工作。但是我的路线都没有正常工作。

我从上面知道我的自定义路由除了类别ID之外不期望传递product_id。我的问题是,如何在自定义路径中添加更多参数?

1 个答案:

答案 0 :(得分:0)

您可以在路线中使用:variable段来提供其他可变段。

例如,您可以在product_idadd_to路线中添加remove_from段:

...
post 'add_to/:product_id'
post 'remove_from/:product_id'