errore rotaie & # 8220; potresti avere percorsi ambigui & # 8221;
-
07-07-2019 - |
Domanda
Sto riscontrando un problema con i miei percorsi e il nome del percorso che genera. O sto nominando sbagliato nella vista o qualcosa del genere ... non sono del tutto sicuro. Le mie relazioni nei miei modelli sono le seguenti:
class Client < ActiveRecord::Base
has_many :users
has_many :elements, :through => :users
end
class Element < ActiveRecord::Base
belongs_to :user
end
I miei percorsi sono come:
map.resources :elements
map.resources :clients, :has_many => :elements
E a mio avviso ho:
<%= link_to element.name, client_element_url %>
Ma l'errore che ottengo è:
edit_client_element_url failed to generate from {:action=>"edit", :controller=>"elements"} - you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: ["clients", :client_id, "elements", :id, "edit"] - are they all satisfied?
Non sono sicuro di come procedere, mi sto perdendo qualcosa che è giusto nella mia faccia?
Soluzione
Devi passare l'elemento e il client al metodo url:
<%= link_to element.name, client_element_url(element.client, element)
In questo modo sa quale client_id ed element_id usare nella route
/clients/:client_id/elements/:element_id
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow