浏览 871 次
|
锁定老贴子 主题:REST,在页面展现中遇到了问题,期待解惑
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-08-02
看了很多坛子里的高手讨论REST。我的理解,资源是业务层面的,不是数据库CRUD操作的外在展现。资源不是Model。但是在REST的页面展现中,我还是遇到了问题,如何处理我不是很明白,提出来期待解惑: 1、通常在一个WEB页面,我们会放上几个信息,比较中间的产品列表,右侧的是最受欢迎的产品top10,下面是当前正在访问该产品列表的在线用户。这个页面是不是有三个资源,而URL只是/:products,是不是有点不好解释? 2、我们把产品看做一个资源,但是我们可能有几个不同的list产品列表的地方,一个是产品全信息,一个是只显示产品和价格的,一个是只显示产品名称,那这个在非rest中,只是在ProductController中增加几个action的方法,再使用局部模板就可以解决的问题,在rest中如何操作? 3、就是前面提到的,局部模板在rest中,好象没地方可以放啊? 我的迷惑就在于,URL表示了对资源操作的申请,同时URL也表示要得到一个页面,但是在一个页面中,我们又可能要展示多个资源,那一个URL,就是对多个资源的申请? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-08-02
在读beast的代码时,发现了一个问题,以forum的index.rhtml为例,最下面是在线用户列表,内容如下:
<% online_users = User.currently_online -%> <% unless online_users.empty? %> <div class="stats"> <div class="users"> <% unless online_users.empty? %> <%= 'Users online:'[:users_online] %> <%= online_users.map { |u| link_to "<strong>#{h u.display_name}</strong>", user_path(u) } * ", " %><br /> <% end %> </div> </div> <% end %> 这里直接使用了User这个model的方法,就成了view直接操作model,这和我们一直用的view访问controller,再由controller操作model的传统有冲突,如果理解这个问题? |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-02
在网上找了半天,看到了fixopen 以前的一个评论:
REST跟MVC!?哪儿跟哪儿啊。 REST是为了提供大规模并行而提出的一种设置准则,其基本特征就是把资源(常量性质的和幂等性质的)不断的cache形成体系。为了做到这一点,把变动的放到最终的客户端而已。这个跟MVC有什么关系呢? 对于资源的操作,我们抽象出CRUD,正好可以用HTTP的PUT GET POST DELETE来对应,而这些操作原语本质上跟REST没有什么关系,虽然REST几乎是完全倾向于如此。 我觉得现在的问题是:URI(或者IRI)表达资源仍然没有考虑清楚,尤其是Ajax风格开始流行以后,mashup要求我们不仅仅用URI表达我所获得的整个资源,而要用URI表达组成整个资源的各个部分资源,它们或许来自不同的地方。但是我们的WebClient仍然只能为一个整体资源指定一个URI。 扯远了…… 他后面的那段话好象和我的问题差不多: URI(或者IRI)表达资源仍然没有考虑清楚,尤其是Ajax风格开始流行以后,mashup要求我们不仅仅用URI表达我所获得的整个资源,而要用URI表达组成整个资源的各个部分资源,它们或许来自不同的地方。但是我们的WebClient仍然只能为一个整体资源指定一个URI。 资源、URI、View、WEB页面,一团麻,无法自圆其说啊 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-16
这个问题这么没有阿,我也刚学REST.
我的理解是REST中的资源是用户看到的资源,而非我们数据库中的资源,所以我认为产品是一个资源,至于里面有好多的"资源"(表),那只是在model中要解决的问题。 不知道我的理解对不对?? |
|
| 返回顶楼 | |


