这是我在 config/routes.rb 文件中声明的两条路线:
namespace :projects do
match "proj_rapports_contributeur/select" => 'proj_rapports_contributeur#select', :via => :get
match "proj_rapports_contributeur/generate/:id" => 'proj_rapports_contributeur#generate', :via => :get
end
这是生成的路线和辅助轨道生成rake routes
:
projects_proj_rapports_contributeur_select_fr /hierarchie/rapports_contributeur/selectionner(.:format) projects/proj_rapports_contributeur#select {:locale=>"fr"}
projects_proj_rapports_contributeur_select_en /en/projects/proj_rapports_contributeur/select(.:format) projects/proj_rapports_contributeur#select {:locale=>"en"}
/hierarchie/rapports_contributeur/generer/:id(.:format) projects/proj_rapports_contributeur#generate {:locale=>"fr"}
/en/projects/proj_rapports_contributeur/generate/:id(.:format) projects/proj_rapports_contributeur#generate {:locale=>"en"}
我不明白为什么 rails 没有为第二条路线生成路线助手?
不要对翻译后的路线感到惊讶。我正在使用 gem 'rails-translate-routes' 来翻译路线(资源:https ://github.com/francesc/rails-translate-routes )
=== 更新最终答案 ===
根据答案,对于那些想知道结束词的人,这里是我将使用的路线:
namespace :projects do
get "proj_rapports_contributeur/select" => 'proj_rapports_contributeur#select'
get "proj_rapports_contributeur/generate/:id" => 'proj_rapports_contributeur#generate', :as => 'proj_rapports_contributeur_generate'
end
这些是生成的助手:
projects_proj_rapports_contributeur_select_fr GET /hierarchie/proj_rapports_contributeur/selectionner(.:format) projects/proj_rapports_contributeur#select {:locale=>"fr"}
projects_proj_rapports_contributeur_select_en GET /en/projects/proj_rapports_contributeur/select(.:format) projects/proj_rapports_contributeur#select {:locale=>"en"}
projects_proj_rapports_contributeur_generate_fr GET /hierarchie/proj_rapports_contributeur/generer/:id(.:format) projects/proj_rapports_contributeur#generate {:locale=>"fr"}
projects_proj_rapports_contributeur_generate_en GET /en/projects/proj_rapports_contributeur/generate/:id(.:format) projects/proj_rapports_contributeur#generate {:locale=>"en"}