我遇到了麻煩,試圖爲來自餘燼的查詢定義正確的路由。請求似乎是這樣的:Rails路由和查詢字符串
GET "/users?id=1011
無論我怎麼努力,我總是有轉發到索引操作的要求,同時其意爲展示動作。 我已經嘗試了很多東西,比如
get "/users?id=", to: redirect('/users')
,但似乎沒有任何工作。 任何人都可以向我解釋我能做些什麼,最重要的原因是什麼? 非常感謝您的時間!
我遇到了麻煩,試圖爲來自餘燼的查詢定義正確的路由。請求似乎是這樣的:Rails路由和查詢字符串
GET "/users?id=1011
無論我怎麼努力,我總是有轉發到索引操作的要求,同時其意爲展示動作。 我已經嘗試了很多東西,比如
get "/users?id=", to: redirect('/users')
,但似乎沒有任何工作。 任何人都可以向我解釋我能做些什麼,最重要的原因是什麼? 非常感謝您的時間!
GET /users?id=1011
總是進入索引,因爲Rails只看到路由爲GET /users
。問號表示一個參數,它不是您定義的任何路線的一部分。
您可以修改您的索引方法來解釋帕拉姆,是這樣的:
def index
if params[:id]
# call show, do something, whatever
else
# regular index action
end
end
在檢索只有一個用戶的情況下,這將是更常見的路線給你的演出行動,你原本打算。要做到這一點,不通過ID作爲查詢參數,而是作爲一個塞段/users/1011
,您可以通過聲明在你的routes.rb以下完成:
get '/users/:id', to: 'users#show'
如果你想要去全速那麼你可能也只是申報的用戶像這樣的資源:
resources :users
,它會自動線了索引,顯示,更新,銷燬等在混合扔Active Model Serializers,你可以有灰燼數據開始說話到您的API幾乎「開箱即用」。