0

ルート ファイルに正しいルートを設定するのに問題があります。イベント用のコントローラーがあります。Events Controller 内には、次のような「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 に答える