Вопрос

У меня проблемы с настройкой правильного маршрута в моем файле маршрутов. У меня есть контроллер для событий. В контроллере событий у меня есть действие под названием «Люди», которое немного похоже на это:

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

В моих маршрутах у меня есть:

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

Если я жестко кодирую свои параметры [: id] перед моим "find_by_sql", это работает просто отлично, когда я посещаю ".../события/люди", однако, если я попытаюсь сделать что -то вроде ".../Events/5/People" Я получаю ошибку «без маршрута» [get] »/Events/5/People».

Я уверен, что мне не хватает чего -то простого в моем файле маршрутов. Кто -нибудь может предоставить мне ту часть, которую мне не хватает?

Это было полезно?

Решение

Да, это не на коллекции, это на участнике

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

Другие советы

Вы можете попробовать этот подход:

id = 1
User.find_by_sql(['select * from users where id = ?', id])`
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top