首页 > 解决方案 > 如何从路由助手中删除资源名称?

问题描述

我有一条路线:

resources :promo_pages, path: 'promo' do
    get :promo_rubizza, on: :collection, path: 'rubizza', as: :rubizza
end

这条路线已创建 -rubizza_promo_pages_path

但我想要 - rubizza_path

如何实施?
我想将其实现为resources :promo_pages, path: 'promo', as: '',但它创建了rubizza__index_path

UPD:输出rails routes

rubizza_promo_pages GET    /promo/rubizza(.:format)       promo_pages#promo_rubizza

标签: ruby-on-railsrubyrouting

解决方案


在路由中,请定义如下路由(与 同级resources,不嵌套):

get 'promo/rubizza', to: 'promo_pages#promo_rubizza', as: 'rubizza'

然后,您应该能够使用rubizza_pathand rubizza_url


推荐阅读