Frage

Ich habe Probleme, die richtige Route in meine Routendatei einzurichten. Ich habe einen Controller für Ereignisse. Innerhalb des Ereigniscontrollers habe ich eine Aktion namens "People", die ein bisschen so aussieht:

def people
    @people = Event.find_by_sql(["sql that joins three tables to get the data I need;", params[:id]])
end

In meinen Strecken habe ich:

resources :events do
    collection do
      get :somethingelse
      get :people
    end
end

Wenn ich meine Params [: id] vor meinem "find_by_sql" harte, funktioniert es gut, wenn ich ".../Ereignisse/Leute" bin, wenn ich versuche, so etwas wie ".../Ereignisse/5/Personen" zu machen Ich bekomme den Fehler "No Route Matches [GET]/Ereignisse/5/PEOPLE ".

Ich bin sicher, dass mir in meiner Routendatei etwas Einfaches fehlt. Kann mir jemand den Teil geben, den ich fehlt?

War es hilfreich?

Lösung

Ja, es ist nicht in der Sammlung, es ist mit Mitglied

collection do
  get :somethingelse
end
member do
  get :people
end

Andere Tipps

Sie können diesen Ansatz ausprobieren:

id = 1
User.find_by_sql(['select * from users where id = ?', id])`
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top