我有一个名为Book的资源,然后我有以下域名:
domain.com/books/272
但我想把它改成
domain.com/stories/272
仅限URL,不需要更改控制器,类等.
在我的路线
map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format' map.root :controller => 'static'
我该怎么做?谢谢
解决方法
真的取决于你已经拥有的东西.
将此代码用于您的路线文件:(如果书籍的原始URL被故事替换)
#resource routes map.resources :books,:as => :stories #named routes map.books 'stories/:id'
在没有定义路线的情况下,我能想到的唯一选择 – 看起来非常错误 – 就是添加一个新的控制器,它继承自你的书籍控制器.您需要浏览应用程序并更改用于生成路径或URL的控制器名称,如以下示例所示:
class BooksController < ApplicationController class StoriesController < BooksController
就个人而言,我建议你花点时间来定义你的路线,但我想这取决于你正在使用的应用程序的大小.
本指南将帮助您了解RoR:http://guides.rubyonrails.org/routing.html中的路由