Schienen Fehler „können Sie mehrdeutige Routen haben“
-
07-07-2019 - |
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?
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