Why don't the rails generate a route assistant for my match route?

These are the two routes that I declared in the config / routes.rb file:

  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

These are the resulting routes and rails with 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"}

I do not understand why the rails did not generate a route assistant for the second route?

Do not be surprised at the translated route. I use gem 'rails-translate-routes' to translate routes (Resource: https://github.com/francesc/rails-translate-routes )


=== UPDATE for FINAL ANSWER ===

According to answeer, for those who want to know the final word, here are the routes that I will use:

  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

And these are the resulting helpers:

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"}
+5
source share
1 answer

, , ( : id). , as

match "proj_rapports_contributeur/generate/:id" => 'proj_rapports_contributeur#generate', :via => :get, :as => "your_route_name"

match + via .

get "proj_rapports_contributeur/generate/:id" => 'proj_rapports_contributeur#generate'

, Rails 4.

+7

All Articles