Pergunta

Estou tendo problemas em configurar a rota correta no meu arquivo de rotas. Eu tenho um controlador para eventos. Dentro do controlador de eventos, tenho uma ação chamada "pessoas", que se parece um pouco assim:

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

Nas minhas rotas que tenho:

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

Se eu codificar meus params [: id] antes do meu "find_by_sql", funciona bem quando eu visito ".../eventos/pessoas" no entanto, se eu tentar fazer algo como ".../eventos/5/pessoas" Recebo o erro "Sem correspondência de rota [Get]/Events/5/People ".

Tenho certeza de que estou perdendo algo simples no meu arquivo de rotas. Alguém pode me fornecer a parte que estou perdendo?

Foi útil?

Solução

Sim, não está na coleção, está no membro

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

Outras dicas

Você pode tentar esta abordagem:

id = 1
User.find_by_sql(['select * from users where id = ?', id])`
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top