在routes.rb中:
scope "(:locale)", locale: /en|de/ do
get 'service' => 'service#index'
get 'service/:id' => 'service#show'
end
然后在视图中我使用帮助器service_path(params[:locale], id)
并获取此链接/en/service.1
。
但我需要这样的链接/en/service/1
。
通过rake routes
检查路由:
service GET (/:locale)/service(.:format) service#index (locale=>/en|ru/}
GET (/:locale)/service/:id(.:format) service#show {:locale=>/en|ru/}
如何获得像/en/service/1
这样的普通链接,我做错了什么?
答案 0 :(得分:1)
您应该将控制器重命名为复数形式Services
路线变更:
get 'service' => 'service#index'
至get 'services' => 'services#index', :as => :services
和
获取'service/:id' => 'service#show'
获取'services/:id' => 'services#show', :as => :service
或者你可以写简单:
resources :services, :only => [:show, :index]