Ruby on Rails中的路由出错

时间:2018-01-05 12:42:22

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

我在RoR中遇到路由问题。我创建了一个带参数的路由,当我创建传递对象的链接时,我有一个错误。

这是我的routes.rb

get 'products_test/:type_data_type/:id', to: 'products#show', as: :product_front_test

当我创建链接时:

link_to 'Click here', product_front_test_path(product)

我有错误:

No route matches {:action=>"show", :controller=>"products", :type_data_type=>#<Product id: 19, title: .....

2 个答案:

答案 0 :(得分:1)

您需要将参数值type_data_typeid作为product_front_test_path路径的参数传递,如下所示:

link_to 'Click here', product_front_test_path(type_data_type: product.type_data_type, id: product.id)

此外,如果您有product_front_test文件中的show操作,请确保此路由routes.rb

答案 1 :(得分:1)

您必须为此路由器type_data_typeid设置两个参数,如下所示:

product_front_test_path(product.type_data_type, product)