我在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: .....
答案 0 :(得分:1)
您需要将参数值type_data_type
和id
作为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_type
和id
设置两个参数,如下所示:
product_front_test_path(product.type_data_type, product)