0

我在路线文件中设置正确路线时遇到问题。我有一个事件控制器。在事件控制器中,我有一个名为“people”的动作,它看起来有点像这样:

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

如果我在“find_by_sql”之前对 params[:id] 进行硬编码,当我访问“.../events/people”时它工作得很好但是,如果我尝试做类似“.../events/5/people”之类的事情我收到“没有路线匹配 [GET]”/events/5/people”错误。

我确定我的路线文件中缺少一些简单的东西。谁能提供我缺少的部分?

4

2 回答 2

3

是的,不是收藏,是会员

collection do
  get :somethingelse
end
member do
  get :people
end
于 2013-11-07T21:07:15.217 回答
0

你可以试试这个方法:

id = 1
User.find_by_sql(['select * from users where id = ?', id])`
于 2013-11-07T21:13:01.823 回答