浏览 2165 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-09
数据库表名叫 group_topics Model名叫 group_topic 以上都没什么问题 希望通过 /groups/1/topics , /blogs/1/topics 这样的URL访问,于是就指定了controller的名称 在路由中指定了如下的嵌套resources: map.resources :groups do |group| group.resources :topics,:controller=>'GroupTopics' end 这个也没问题 不过写页面表单的时候问题来了 <%=link_to 'test',group_topic_url(@group,@topic)%> # 这样可以正确指向/groups/1/topics/15这样的链接 但是,按照rails2里面那种简洁式写法: <%=link_to 'test',[@group,@topic]%> # 报错了: # undefined method `group_group_topic_path' for #<ActionView::Base:0x727769c> 发现rails在这里是按照@topic对象的实际类名“GroupTopic”去寻找路由,于是 并不是去找:group_topic_path 而是去找:group_group_topic_path 当然找不到了。 于是很多地方都不能用rails2的简洁写法。感觉不太优雅。 想问的问题就是,rails2里面有没有什么机制能够使得根据对象自动获取路由时,不按照对象类名自动获取,而是可以特别指定? 如果没有这种机制,我想自己修改源代码实现,请高手们给一点提示? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-10
由于暂时没有好的解决方法,所有类似这样的地方都通过自己封装Helper来实现了。
看来想完全偷懒并不容易。 |
|
返回顶楼 | |