Rails REST サービスをセットアップしましたが、単一のレコードを表示する際に問題が発生しています。ヒットしようとしている URL は次のとおりです。
http://website:3000/users/2/timesheets/21
コントローラーコード:
def show
puts "SHOW"
puts params.inspect
@timesheets = User.find(params[:user_id]).timesheets(params[:id])
respond_to do |format|
format.json { render json: @timesheets }
end
end
パラメータがコントローラーに到達していることは知っていますが、:timesheet_id
. 私が何を意味するかを示すコンソール出力は次のとおりです。
Started GET "/users/2/timesheets/21" for **.**.***.** at 2013-03-19 06:12:11 -0400
Processing by TimesheetsController#show as */*
Parameters: {"user_id"=>"2", "id"=>"21"}
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", "2"]]
Timesheet Load (0.5ms) SELECT "timesheets".* FROM "timesheets" WHERE "timesheets"."user_id" = 2
Completed 200 OK in 120ms (Views: 36.5ms | ActiveRecord: 2.9ms)
パラメーター ハッシュに 21 のタイムシート ID が表示されます。次に、ユーザーを取得するためのクエリが作成されますが、そのユーザーのすべてのタイムシートが取得されます。どんな助けでも大歓迎です。ありがとう。