Oui ce n'est pas sur la collection, c'est sur membre
collection do
get :somethingelse
end
member do
get :people
end
Question
J'ai des problèmes avec la configuration de l'itinéraire correct dans mon fichier de routes. J'ai un contrôleur pour les événements. Dans le contrôleur des événements, j'ai une action appelée "People" qui ressemble un peu à ceci:
def people
@people = Event.find_by_sql(["sql that joins three tables to get the data I need;", params[:id]])
end
Dans mes itinéraires, j'ai:
resources :events do
collection do
get :somethingelse
get :people
end
end
Si je code à hard mes params [: id] avant mon "find_by_sql", cela fonctionne très bien quand je visite "... / événements / personnes" cependant, si j'essaie de faire quelque chose comme "... / événements / 5 / personnes" J'obtiens l'erreur "No Route Matchs [Get] / Events / 5 / People ".
Je suis sûr que je manque quelque chose de simple dans mon fichier de routes. Quelqu'un peut-il me fournir la pièce qui me manque?
La solution
Oui ce n'est pas sur la collection, c'est sur membre
collection do
get :somethingelse
end
member do
get :people
end
Autres conseils
Vous pouvez essayer cette approche:
id = 1
User.find_by_sql(['select * from users where id = ?', id])`