2016-08-02 7 views
0

Ok, damit bekomme ich diesen Fehler - Keine Route entspricht {: Aktion => "Suche",: Controller => "Zeichnungen",: Suche => "2016"} fehlende erforderliche Schlüssel: [ : workcategory_id]Routen Probleme im Layout

ich habe dies in meinem Layout/_header

 <% unless @workcategories.nil? %> 
     <% @workcategories.each do |workcategory| %> 
      <li><%= link_to workcategory.name, search_workcategory_drawings_path(search: workcategory.name) %></li> 
     <% end %> 

meine Zeichnung Modell

belongs_to :workcategory 
def self.search(params) 
    drawings = Drawing.where("name like ?", "%#{params[:search]}%") 
    drawings 
end 

und das ist der Teil der Steuerung, wo die Dinge

passieren sollen
def search 
    @drawings = Drawing.search(params) 
end 

schließlich meine Routen

resources :workcategories do 
    resources :drawings do 
     collection do 
     get :search 
     end 
    end 
    end 

So ist die Frage, dass, wenn ich auf einer beliebigen Seite gehen - zu Hause, Admin-Panel etc .. ich diesen Fehler erhalten ‚Keine Route Streichhölzer {: action =>“ Suche ",: controller =>" Zeichnungen ",: search =>" 2016 "} fehlende erforderliche Schlüssel: [: workcategory_id] '. Ich verstehe nicht, warum es versucht, den Suchpfad bereits zu "bauen", obwohl ich nicht versuche, darauf zuzugreifen. Ich hoffe, dass ich Sinn mache ...

Antwort

1

bieten einfach eine workcategory_id:

 <li><%= link_to workcategory.name, search_workcategory_drawings_path(workcategory.id, search: workcategory.name) %></li> 
+0

Oh WOW wirklich das war alles? Gott, der war lahm ... jetzt habe ich das andere Problem, wo die Suche nicht funktioniert, also, wenn ich das Jahr auswähle, zeigt es mir nichts, habe ich auch eine Idee dafür? –

+0

oh vergiss, dass ich das herausgefunden habe, ich musste nach workcategory.id suchen, nicht nach .name. Vielen Dank ! Du hast die Antwort richtig ^^ –