我有这样的路线
/状态/亚利桑那/单元/ AZ22
我想删除STATE和UNIT的控制器名称并获取这样的路由
/亚利桑那/ AZ22
发现这个代码非常好用
resources :states, :except => [:index ], :path => '/' do
resources :units, :except => [:index ], :path => '/'
end
但是现在我的静态路径不起作用,因为它认为它是一个状态。我在静态页面上有一个状态列表。
Error: Couldn't find State with id=about
Code throwing error : def set_state
@state = State.friendly.find(params[:id])
end
这些是我的静态页面路由
match '/contact', to: 'static_pages#contact', via: 'get'
match '/about', to: 'static_pages#about', via: 'get'
root 'static_pages#home'
有没有办法修复路线? 或者我是否使用静态页面错误,因为我要向他们提供状态列表?
答案 0 :(得分:0)
路由按照指定的顺序进行匹配。因此,按照以下方式组织您的路线并尝试一下:
root 'static_pages#home'
match '/contact', to: 'static_pages#contact', via: 'get'
match '/about', to: 'static_pages#about', via: 'get'
resources :states, :except => [:index ], :path => '/' do
resources :units, :except => [:index ], :path => '/'
end