论坛首页 编程语言技术论坛

rails中传递多个参数破坏了 restful原则?

浏览 10616 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-19  
如果传递一个参数 ,使用下面代码:
<%=link_to "Page Login",:action=>"login", :id=>34 %>

渲染出来的url是restful形式,这个没问题
http://localhost:3000/login/index/34


但是如果传递多个参数,rails就不可避免的在参数后面加上了 "?" 符号
<%=link_to "Page Login",:action=>"login", :id=>34 %>


即时使用 post也不行
<%=link_to "Page Login",:action=>"login" ,:name=>"lyo",:id=>34 ,:method=>"post"%>


url就会变成这样:
http://localhost:3000/login/index/34?name=lyo&method=post


这不破坏了 restful形式么? 难道 restful 只适用于一个参数的情况?
   发表时间:2007-04-19  
method=post为什么不用post的http method?restful中的对应的方法,是通过http method决定的。
0 请登录后投票
   发表时间:2007-04-19  
刑天战士 写道
method=post为什么不用post的http method?restful中的对应的方法,是通过http method决定的。


具体在 link_to 中应该怎样写? 你的意思是使用 post,而不是get,这样就没有url上面的参数了?
0 请登录后投票
   发表时间:2007-04-19  
<%=link_to "Page Login", {:action=>"login" ,:name=>"lyo",:id=>34}, :method=>:post %>  

这个试试
0 请登录后投票
   发表时间:2007-04-19  
无济于事,结果是:
http://localhost:3000/login/index/34?name=lyo
0 请登录后投票
   发表时间:2007-04-19  
这样可以工作的吧,就是难看点。
0 请登录后投票
   发表时间:2007-04-19  
REST架构,应该是无参的。你已经搞出来参数了,说明你根本就不REST。

不是REST只能适于单个参数,而是只要你REST了,你就没有参数了。
1 请登录后投票
   发表时间:2007-04-19  
kaven 写道
这样可以工作的吧,就是难看点。


 
0 请登录后投票
   发表时间:2007-04-19  
robbin 写道
REST架构,应该是无参的。你已经搞出来参数了,说明你根本就不REST。

不是REST只能适于单个参数,而是只要你REST了,你就没有参数了。


这样叫有参数么?
http://www.iteye.com/post/266577

里面得 id=266577 就是参数吧,但是我看 restful 得文章里面  这种url属于 restful形式的。http://www.xfront.com/REST-Web-Services.html
说 rails是基于 restful 类型参数的,但是我看基于 rails开发出来的应用也避免不料
http://www.iteye.com/topics/quote?post=266573
这种带 ? 参数的url。 我如果参数有 10个,但是用了 post方式,根本看不出来,叫不叫 restful呢?
0 请登录后投票
   发表时间:2007-04-19  
JavaEye2.0上线的时候,rails1.2还没有出来,当然不是REST架构的了。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics