Ruby on rails 什么';为HTTP谓词补丁生成的实际URL Rails是多少?

Ruby on rails 什么';为HTTP谓词补丁生成的实际URL Rails是多少?,ruby-on-rails,ruby,rack,Ruby On Rails,Ruby,Rack,请容忍一个新手。我了解Rails如何通过GET提供简单的请求,以获得简单的URL链接,如localhost:3000/rooms/11/listing。格式为Routes表中所述的直接格式。然而,当涉及到补丁、放置、删除和创建时,我感到困惑。例如,下面带有参数的输出是在我单击“保存”按钮时显示的。我的问题是,当我点击SAVE按钮时Rails生成的实际URL是什么 Started PATCH "/rooms/11" for 127.0.0.1 at 2019-08-20 05:25:32 +080

请容忍一个新手。我了解Rails如何通过GET提供简单的请求,以获得简单的URL链接,如
localhost:3000/rooms/11/listing
。格式为Routes表中所述的直接格式。然而,当涉及到补丁、放置、删除和创建时,我感到困惑。例如,下面带有参数的输出是在我单击“保存”按钮时显示的。我的问题是,当我点击SAVE按钮时Rails生成的实际URL是什么

Started PATCH "/rooms/11" for 127.0.0.1 at 2019-08-20 05:25:32 +0800
(0.8ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
  ↳ /usr/local/rvm/gems/ruby-2.6.0/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb:98
Processing by RoomsController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"JHiCJ6HoTsgd8SGgLTFiZ9+J9hS9U8hHGvjKf4Lz3uieQ8OO2eFqFEM/D5xocHp/Nd3eA0az9k+okrmNe65BYg==", "room"=>{"home_type"=>"Apartment", "room_type"=>"Private", "accommodate"=>"3", "bed_room"=>"4", "bath_room"=>"3"}, "commit"=>"Save", "id"=>"11"}
我从控制台知道

app.room_path(11)
 => "/rooms/11" 

这是Rails生成的URL
localhost:3000/rooms/11{“utf8”=>“✓", "真实性令牌“=>”JHiCJ6HoTsgd8SGgLTFiZ9+J9hS9U8hHGvjKf4Lz3uieQ8OO2eFqFEM/D5xocHp/Nd3eA0az9k+okrmNe65BYg==”,“房间”=>“公寓”、“房间类型”=>“私人”、“住宿”=>“3”、“床房”=>“4”、“浴室”=>“3”,“提交”=>“保存”、“id”=>“11”
,由应用程序生成的房间路径(URL<11>)is
http://localhost:3000/rooms/11

PATCH、PUT、DELETE和POST称为HTTP动词。CREATE不是HTTP动词

其中一个动词与您的请求一起使用,Rails路由器使用它将请求路由到正确的控制器和操作

请求可以有参数,如您在此处显示的参数:
{“utf8”=>“✓", "真实性令牌“=>”JHiCJ6HoTsgd8SGgLTFiZ9+J9hS9U8hHGvjKf4Lz3uieQ8OO2eFqFEM/D5xocHp/Nd3eA0az9k+okrmNe65BYg==”,“房间”=>“公寓”、“房间类型”=>“私人”、“住宿”=>“3”、“卧室”=>“4”、“浴室”=>“3”,“提交”=>“保存”、“身份证”=>“11”

单击“保存”按钮时,浏览器请求
http://localhost:3000/rooms/11
使用HTTP动词POST。参数在请求主体上进行了编码

了解更多信息的好地方是。


以下是
rake routes
命令的结果。如您所见,GET、PATCH和PUT共享相同的生成URL(/rooms/:id,在您的示例/rooms/11中)。自Rails 4.0以来,补丁是更新操作的默认动词。将表单发送到路由时会触发更新操作。

如果您使用的是Chrome并希望检查请求,则可以打开“开发人员工具”,选择“网络”选项卡,然后选中“保留日志”框。单击保存按钮,对/rooms/11的请求将显示在列表中,其中包含各种有用的信息。