Rails POST,PUT,GET

在生成脚手架之后,Rails使我能够POST到items.xml ,这将创建一个新item 。 对items.xml的GET将简单列出它们全部。 Rails根据我正在执行的操作类型来指定控制器中的哪个方法(分别为createindex )将被调用的位置?

更具体地说,POST调用methodA但GET调用相同的URL调用methodB。 这在哪里指定? Rails在哪里决定调用控制器的index方法?


我相信它是由REST指定的。 这是一个列表为雅:

GET    /items        #=> index
GET    /items/1      #=> show
GET    /items/new    #=> new
GET    /items/1/edit #=> edit
PUT    /items/1      #=> update
POST   /items        #=> create
DELETE /items/1      #=> destroy

编辑添加以获取所有这些路线,在config / routes.rb中,只需添加map.resources :items


按照惯例,Rails为RESTful资源定义了七种控制器方法。 他们是:

Action   HTTP Method  Purpose
-------------------------------------------------------------------------
index    GET          Displays a collection of resources
show     GET          Displays a single resource
new      GET          Displays a form for creating a new resource
create   POST         Creates a new resource (new submits to this)
edit     GET          Displays a form for editing an existing resource
update   PUT          Updates an existing resource (edit submits to this)
destroy  DELETE       Destroys a single resource

请注意,因为Web浏览器通常只支持GET和POST,所以Rails使用隐藏字段将它们合适地转换为PUT和DELETE请求。

指定map.resources :items config/routes.rb map.resources :items让你免费获得这七种方法。 您可以随时通过在控制台中输入rake routes列出应用程序中的所有rake routes

  • 有关更多详细信息,请参阅从外部输入的Rails路由。

  • 了解这个最好的地方是路由指南。

    链接地址: http://www.djcxy.com/p/41003.html

    上一篇: Rails POST, PUT, GET

    下一篇: Database, Table and Column Naming Conventions?