Ruby on rails 更改rails中的默认REST操作

Ruby on rails 更改rails中的默认REST操作,ruby-on-rails,rest,routes,customization,Ruby On Rails,Rest,Routes,Customization,我希望能够使用RESTful url和请求类型更改操作的默认映射 比如说, 在路由中添加map.resources:fruits后,默认情况下,将GET请求发送到/fruits/:id调用show在fruits控制器中执行操作。但是,我想在水果控制器中调用一个自定义操作,比如显示,而不是显示操作。我该怎么做?这必须是一个路由配置。我建议您阅读以下页面: 它详细解释了与路由相关的所有方面 使用:路径\名称可以自定义新路径和编辑生成的路径。如果要将GET/fruits/:id从激活show操作更改

我希望能够使用RESTful url和请求类型更改操作的默认映射

比如说,


在路由中添加
map.resources:fruits
后,默认情况下,将
GET
请求发送到
/fruits/:id
调用
show
fruits
控制器中执行操作。但是,我想在
水果
控制器中调用一个自定义操作,比如
显示
,而不是
显示
操作。我该怎么做?这必须是一个路由配置。

我建议您阅读以下页面:

它详细解释了与路由相关的所有方面


使用:路径\名称可以自定义新路径和编辑生成的路径。如果要将
GET/fruits/:id
从激活
show
操作更改为激活
display
操作,则用户看不到更改。您可能会毫无理由地偏离流程。

这与您的问题没有直接关系,但请注意Rails的“RESTful路由”与REST无关。漂亮的URI与REST正交。没有“RESTful URL”这样的东西。如果你对REST感兴趣,请多读一读——菲尔丁的论文是权威的来源,或者你可以在这个网站上浏览一些REST的解释。如果你使用嵌套资源,特别是深度嵌套的资源,实际上有充分的理由这样做。在某种程度上,通过接受默认值,最终会导致控制器大量增加,并且覆盖它们允许您在向同一控制器发送多个资源的同时保留嵌套结构。我发现这一点特别有用,因为如果不是这样的话,最终会得到一个父控制器,它只有一个索引操作,除了更复杂的子资源外,没有其他功能。