讨论:
我总觉得REST应该用于提供数据而不是页面,还是用用户和圈子作例子吧,感觉顺畅一些。
比如某个用户的页面,他选一个圈子,点击“加入”就加入了这个圈子;而圈子的管理员也可以选择用户,并点击“添加”把用户加入圈子。
这里2个页面完成的是同一个操作,都是创建一个用户-圈子的关系,但操作完以后的页面转向会不同。如果用REST来提供页面,如何来处理这些转向?另加参数?那不是搞复杂了嘛。
所以我觉得应该是浏览器上通过AJAX请求这个action,返回数据,浏览器脚本把数据处理成显示,这也是AJAX最适合的方式。
如果只提供数据,实际上不需要7种action,4种就可以了:
[code]
GET /posts => /posts/index
GET /posts/1 => /posts/index/1
PUT /posts/1 => /posts/update/1
POST /posts => /posts/create
DELETE /posts/1 => /posts/destroy/1
[/code]
new和edit都是提供页面的。
我总觉得REST应该用于提供数据而不是页面,还是用用户和圈子作例子吧,感觉顺畅一些。
比如某个用户的页面,他选一个圈子,点击“加入”就加入了这个圈子;而圈子的管理员也可以选择用户,并点击“添加”把用户加入圈子。
这里2个页面完成的是同一个操作,都是创建一个用户-圈子的关系,但操作完以后的页面转向会不同。如果用REST来提供页面,如何来处理这些转向?另加参数?那不是搞复杂了嘛。
所以我觉得应该是浏览器上通过AJAX请求这个action,返回数据,浏览器脚本把数据处理成显示,这也是AJAX最适合的方式。
如果只提供数据,实际上不需要7种action,4种就可以了:
[code]
GET /posts => /posts/index
GET /posts/1 => /posts/index/1
PUT /posts/1 => /posts/update/1
POST /posts => /posts/create
DELETE /posts/1 => /posts/destroy/1
[/code]
new和edit都是提供页面的。