我最近开始了一个 Rails 项目,并决定使用 RESTful 控制器。我为我的关键实体(例如 Country)创建了控制器并添加了index
、new
、edit
、create
、show
和. 我将我的添加到我的路线文件中,生活很好。update
delete
map.resources :country
开发有点进展后,我开始遇到问题。我有时需要在我的控制器中执行额外的操作。首先是search
为我喜欢的自动完成搜索框返回选项的操作。然后需要在应用程序的不同位置以两种不同的方式显示国家/地区(显示的数据也不同,因此不仅仅是两个视图) - 我添加了index_full
动作。然后我想在 URL 中按名称而不是 id 显示国家/地区,因此我添加了show_by_name
操作。
当您需要在 Rails 的 RESTful 控制器中超出标准index
, new
, edit
, create
, show
, update
,的操作时,您会怎么做?delete
我是否需要在 routes.rb 文件中添加(和维护)手动路由(这很痛苦),它们是否进入不同的控制器,我是否变得不稳定或我错过了一些基本的东西?
我想我在问,我是否需要更加努力地工作并将操作添加到我的 routes.rb 文件中以获得 RESTful 的特权?如果我不使用map.resources
添加 REST 好东西,标准:controller/:action, :controller/:action/:id
路由将自动处理几乎所有内容。