由于网站中同时有blog,group等功能模块,因此就把controller分别命名为 GroupTopics,BlogTopics等
数据库表名叫 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里面有没有什么机制能够使得根据对象自动获取路由时,不按照对象类名自动获取,而是可以特别指定?
如果没有这种机制,我想自己修改源代码实现,请高手们给一点提示?
分享到:
- 2008-04-09 16:58
- 浏览 1263
- 评论(1)
- 论坛回复 / 浏览 (1 / 2163)
- 查看更多
相关推荐
关于动态路由的问题,动态路由是指路由的path中包含了如`:id`这样的参数,这时可以使用`params`来传递相应的参数值。但是,当动态路由与name一起使用时,可能会导致跳转到根路由(即`path:'/'`的路由)的问题。解决...
设置电脑指定路由选择 指定电脑访问某一网站走固定路由,提高安全性
《路由与交换技术》是华为信息与网络技术学院指定的一本教材,主要涵盖了网络领域的核心概念,特别是关于路由器和交换机的运作原理及其在实际网络架构中的应用。这本书旨在为学习者提供深入理解网络通信机制的基础,...
首先,为 PC 和路由器接口分配 IP 地址,然后在路由器 RTB 上添加关于 PCA 网段的静态路由条目,并在 RTA 上添加关于 PCB 网段的静态路由条目。通过 `disp ip routing table` 命令查看路由表,确认路由条目存在,...
首先,静态路由是一种手动配置的路由方式,管理员需要为网络中的每个目标网络指定下一跳地址。这种方式适用于网络规模小、拓扑结构简单且变动不频繁的环境。静态路由的优点在于稳定性和安全性,但缺点是管理和维护...
在云计算学习实验中,我们经常会遇到网络配置的问题,特别是如何设置单臂路由、静态路由以及默认路由,并结合备用路径来确保网络的稳定性和可靠性。以下将详细解释这些概念及其配置步骤。 **一、单臂路由(Single-...
route-map命令可以指定路由策略的名称、描述、 Match条件和Set操作。Match条件用于指定路由策略的匹配规则,而Set操作用于指定路由策略的执行操作。 例如,在CISCO路由交换机中,我们可以使用以下命令来配置策略...
linux双网卡 路由配置 访问特定ip网段走指定网卡,命令已实测
vue-router提供了一种隐式的引用路径,即命名路由,可以在创建Router实例的时候,在 routes 中给某个路由设置名称name值。通过一个名称来标识一个路由显得更方便一些,特别是在链接一个路由,或者是执行一些跳转的...
在qeephp框架的开发过程中,我们可能会遇到较为复杂的路由地址问题。这通常是因为未启用qeephp的路由美化功能所致。本文将详细介绍如何在qeephp框架中启用路由美化功能,使我们的应用程序更加美观、易于管理和维护。...
在ThinkPHP5中,路由规则定义了URL与控制器(Controller)和操作(Action)之间的映射关系。基础的路由配置允许开发者通过简单的规则将URL路径与控制器方法绑定,如`'/:controller/:action'`,这里的`:controller`和...
宽松源路由选路在相邻两个必须经过的IP地址之间,允许存在其他非指定路由器,只要最终数据传输经过了指定的IP地址列表就可以。这种选路方式提高了数据传输的灵活性,有助于减少因为网络变化导致的传输中断风险。 ...
当路由器收到一个目标地址不在其路由表中的数据包时,会将数据包发送到静态缺省路由指定的下一跳地址。如果配置不当,静态缺省路由可能导致**路由环路**,即数据包在一个或多个路由器之间无限循环,消耗网络资源并...
单臂路由(Single-Arm Routing)和静态路由是网络配置中的基本概念,它们在构建小型或中型企业网络中尤其常见。下面将详细解释这两个概念,以及如何进行配置。 单臂路由是指在一个接口上同时处理LAN和WAN流量,通常...
MVC路由是ASP.NET MVC中的一种URL映射机制,它允许开发者定义URL模式并指定这些模式如何与控制器和动作方法关联。在应用启动时,路由配置在`Global.asax.cs`文件的`RegisterRoutes(RouteCollection routes)`方法中...
在 Kubernetes 集群中,ingress-nginx-controller 是一种常用的网络路由控制器,它基于 Nginx 实现,用于处理来自外部的入站流量,将请求转发到相应的后端服务。本文将深入探讨 ingress-nginx-controller 的核心概念...
在IT行业中,网络路由是构建和管理网络的关键技术之一,特别是在网络工程师的CCNA认证学习过程中,理解并掌握路由协议的配置是至关重要的。本实验主题聚焦于“配置静态路由、默认路由与RIP(路由信息协议)”,这是...
- **执行Action**:一旦找到匹配的路由规则,`UrlRoutingModule`就会根据该规则中的信息找到相应的Controller和Action,并执行Action方法。 #### 4. 示例代码分析 下面是一段关于`UrlRoutingModule`的示例代码,...
deploy.yaml 文件中需要指定 Ingress-nginx controller 的镜像,例如 k8s.gcr.io/ingress-nginx/controller:v1.1.2 和 k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1。 deploy.yaml 文件样例: ``` #...
配置静态路由的基本命令是`ip route`,如标题和描述中提到的`ip route 0.0.0.0 0.0.0.0 serial 1/0 100.1.1.1`,这表示将所有未明确指定的目标网络的数据包通过Serial 1/0接口发送到100.1.1.1。这个命令用于配置指向...