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?

È stato utile?

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
scroll top