gpt4 book ai didi

ruby-on-rails - Rails Put 与 Post

转载 作者:可可西里 更新时间:2023-11-01 15:07:41 24 4
gpt4 key购买 nike

我一直在阅读 put 和 post 请求之间的区别,我有一些与 rails 有关的相关问题:我想更改已创建行中的一个特定字段...我应该使用 put 还是帖子请求?例如以下是否不同?

#Assume this is a put request
def update
@model=Model.find(x)
@model.field="new_field"
@model.save
end

#Assume this is a post request
def update
@model=Model.find(x)
@model.field="new_field"
@model.save
end

#What if I use the rails update method?
def update
@model=Model.find(x)
@model.update(model_params)
@model.save
end

提前致谢。

最佳答案

根据rails约定,

PUT 用于更新现有资源

POST 用于创建新资源

在 rails 4 中,PUT 已更改为 PATCH 以避免混淆。

默认情况下,Rails 生成的路由如下所示

    posts GET    /posts(.:format)                            {:action=>"index", :controller=>"posts"}
POST /posts(.:format) {:action=>"create", :controller=>"posts"}
new_post GET /posts/new(.:format) {:action=>"new", :controller=>"posts"}
edit_post GET /posts/:id/edit(.:format) {:action=>"edit", :controller=>"posts"}
post GET /posts/:id(.:format) {:action=>"show", :controller=>"posts"}
PUT /posts/:id(.:format) {:action=>"update", :controller=>"posts"}
DELETE /posts/:id(.:format) {:action=>"destroy", :controller=>"posts"}

注意 PUT 和 POST 的操作

关于ruby-on-rails - Rails Put 与 Post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504434/

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