浏览 2803 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-14
于是新建了几个folder把属于一类的controller 放在一起。 例如就像typo里面那个admin folder一样。 controller(folder) -->welcome_controller.rb -->admin(folder) --->accounts_controller.rb 可是出现了奇怪的问题。 在一个页面里,比如说有3个link_to生成的link. A B C 其中 A, B 都是link到普通的controller 里面的action. C 连接到 admin 文件夹下面的controller 里面的action. <%= link_to 'A', :controller=> 'welcome', :action=>'A'%> <%= link_to 'B', :controller=> 'welcome', :action=>'B'%> <%= link_to 'C', :controller=> 'admin/accounts', :action=>'C'%> 问题是:在不点击link C 之前,Link A,B 工作正常。 只要点击了link C 之后,Link A,B 生成的url就变了。 http://localhost:3000/admin/welcome/A 当然,并没有这个page.会出现routing error. 我开始想可能是因为相对路径的问题。 于是解决方法是把link A, B 改成 <%= link_to 'A', :controller=> '../welcome', :action=>'A'%> 之后问题得到初步解决。 无论以什么顺序点击link ABC都没有错误(在firefox 中)。 因为我一直都用firefox + firebug,所以很少用IE。 谁知道在IE 下面问题还不小呢。 问题是:Link C 工作正常。 Link A,B 生成的url就变了。 http://localhost:3000/../welcome/A 此时会出现routing error. 试图找到问题的根源,但是没发现什么特殊的。 不知道大家有没有类似经历,可以给我点启发。 谢谢 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-14
难道大家没有相似的经历吗? 其实把所有的controller放在一起到没有什么.就是看起来很乱.分一下文件夹比较好处理.不过,这个link_to的问题我还真没想到.
|
|
返回顶楼 | |
发表时间:2008-03-15
LZ可以这么解决:
# <%= link_to 'A', :controller=> '/welcome', :action=>'A'%> # <%= link_to 'B', :controller=> '/welcome', :action=>'B'%> # <%= link_to 'C', :controller=> 'admin/accounts', :action=>'C'%> |
|
返回顶楼 | |
发表时间:2008-03-15
sorry,更好的解决方式似乎应该使用named routes
|
|
返回顶楼 | |
发表时间:2008-03-16
checking you routes.rb
|
|
返回顶楼 | |
发表时间:2008-03-17
woody_420420 写道 LZ可以这么解决:
# <%= link_to 'A', :controller=> '/welcome', :action=>'A'%> # <%= link_to 'B', :controller=> '/welcome', :action=>'B'%> # <%= link_to 'C', :controller=> 'admin/accounts', :action=>'C'%> 十分感谢。问题已经用这种方法解决。 至于router.rb 我一会再看看。 那种方法应该最佳解决方案。 |
|
返回顶楼 | |
发表时间:2008-03-17
woody_420420 写道 LZ可以这么解决:
# <%= link_to 'A', :controller=> '/welcome', :action=>'A'%> # <%= link_to 'B', :controller=> '/welcome', :action=>'B'%> # <%= link_to 'C', :controller=> 'admin/accounts', :action=>'C'%> 这样的话应用部署到域名子目录会有问题吗,如http://www.iteye.com/myapp |
|
返回顶楼 | |
发表时间:2008-03-21
建议不要使用name-spaced controllers (命名空间controller? or 分级controll?)
那会给你带来无穷无尽的麻烦 |
|
返回顶楼 | |
发表时间:2008-03-21
halfmile 写道 建议不要使用name-spaced controllers (命名空间controller? or 分级controll?)
那会给你带来无穷无尽的麻烦 为什么不建议使用? 给个理由先,Name Space是Rails 2.0里最重要的升级之一,没有理由就建议不要使用? 带来什么样的麻烦? 我使用的时候怎么没碰到 |
|
返回顶楼 | |