Frage

ich habe ein Problem mit meinen Routen und den Namen des Pfades es erzeugt. Oder ich Namensgebung es falsch in der Ansicht oder etwas ... nicht ganz sicher. Meine Beziehungen in meinen Modellen sind wie folgt:

class Client < ActiveRecord::Base
  has_many :users
  has_many :elements, :through => :users 
end

class Element < ActiveRecord::Base
  belongs_to :user
end

Meine Strecken sind wie:

map.resources :elements
map.resources :clients, :has_many => :elements

Und meiner Meinung nach habe ich:

<%= link_to element.name, client_element_url %>

Aber der Fehler ich erhalte, ist:

    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?

Ich bin nicht sicher, wie es weitergeht, bin ich etwas fehle, das in meinem Gesicht richtig ist?

War es hilfreich?

Lösung

Sie müssen in dem Element und dem Client auf die URL-Methode übergeben:

<%= link_to element.name, client_element_url(element.client, element)

So ist es weiß, welche CLIENT_ID und Element_ID in der Route zu verwenden,

/clients/:client_id/elements/:element_id
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top