是的,它没有收集,它是会员
collection do
get :somethingelse
end
member do
get :people
end
题
我在路由文件中设置正确的路由时遇到了问题。我有一个事件的控制器。在事件控制器中,我有一个名为“人”的动作,看起来有点像这样:
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/perse”时,它可以正常工作,但是,如果我尝试做类似“ .../events/events/5/perse”之类的事情。我得到“无路由匹配[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])`