我正在研究一个Rails插件,似乎要创建一个用户,HTML表单说
<form action="/users" method="post">
如果我做了
rake routes
它说:
users GET /users(.:format) {:controller=>"users", :action=>"index"}
POST /users(.:format) {:controller=>"users", :action=>"create"}
所以看起来像标准是/controller_name
的GET是执行index
操作,而POST是执行create
操作?这几乎是100%的标准吗?有什么例外吗?
答案 0 :(得分:1)
这是使用Rails资源丰富路由时的默认设置。您当然可以通过多种方式覆盖此默认设置,如此guide中所述,但您应该只有充分理由这样做。
答案 1 :(得分:1)
回答否
Rails路径尽可能灵活。
<强> BUT 即可。 Rails喜欢REST风格。你可以阅读一些维基http://en.wikipedia.org/wiki/Representational_State_Transfer
像CRUD一样的REST:http://en.wikipedia.org/wiki/Create,_read,_update_and_delete因此。我们有关于资源的惯例。我们可以:
GET /resources
GET /resources/:id
POST /resources
PUT /resources/:id
DELETE /resources/:id
GET /resources/:id/edit
GET /resources/new
这是REST的基础。