Ruby on rails 在rails中,如何仅将show操作执行到不同的路径?
在我的应用程序中,我需要添加、编辑、删除和更新路径位于admin dash路径内。我需要将显示路径设置为从路径url开始,如/products/ID。这是我的路径文件:Ruby on rails 在rails中,如何仅将show操作执行到不同的路径?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,在我的应用程序中,我需要添加、编辑、删除和更新路径位于admin dash路径内。我需要将显示路径设置为从路径url开始,如/products/ID。这是我的路径文件: get '/products/:id', to: 'products#show' scope '/dash' do resources :products, except: :show end 现在的问题是,在我看来,当我调用link\u to product时,它指向admin短划线路径中的显示路径,
get '/products/:id', to: 'products#show'
scope '/dash' do
resources :products, except: :show
end
现在的问题是,在我看来,当我调用
link\u to product
时,它指向admin短划线路径中的显示路径,如dash/products/ID
。如何解决此问题?您可以通过运行rake routes
来使用get'/products/:id'的帮助器url:'products#show'
,或者您可以这样做
= link_to "Show", "/products/#{product.id}"
link\u to product
在路由文件中查找resources:products
。这就是它在范围上与之匹配的原因。解决这个问题的方法很少
您还需要将资源添加到范围之外的
resources :products
scope '/dash' do
resources :products, except: :show
end
或者您可以命名路径并在链接中使用它
get '/products/:id', to: 'products#show', as: 'product'
scope '/dash' do
resources :products, except: :show
end
链接到“显示”,产品路径(产品)
或者您可以在@RSB的回答中指定路径您可以发布
rake routes
的输出吗?不确定,但您可以尝试将第一行替换为资源:产品,仅:[:显示]
我无法重现该问题。一切都应该与您的代码一起工作。请提供rake路由
。