gpt4 book ai didi

ruby-on-rails-3 - Rails 休息服务 GET

转载 作者:行者123 更新时间:2023-12-02 05:10:52 27 4
gpt4 key购买 nike

我已经设置了 Rails REST 服务,但在显示单个记录时遇到问题。这是我要访问的 URL:

http://website:3000/users/2/timesheets/21

Controller 代码:

  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

我知道参数正在传递给 Controller ​​,但它没有使用 :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)

我在参数哈希中看到时间表 ID 为 21。然后进行查询以获取用户,但随后会获取该用户的所有时间表。任何帮助,将不胜感激。谢谢。

最佳答案

Prakash 的建议可行,但会执行两个查询:一个获取用户,一个获取时间表。似乎没有任何理由首先执行 User.find(...) 。不妨只查询时间表表,它只会执行一个查询,因此速度更快:

@timesheet = Timesheet.where('user_id = ? and id = ?', params[:user_id], params[:id]).first

关于ruby-on-rails-3 - Rails 休息服务 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15496736/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com