我有一个名为CardController的控制器。目前我有像card_path这样的路线映射到/ cards /:id。我想这样做,以便我可以使用/ trips /:id和/ events /:id映射到相同的/ cards /:id。我知道我最终必须覆盖card_path但是可以为此设置我的路由文件吗?我是否需要设置一个仅重定向到卡片操作的Trip and Event控制器?
编辑:
旅行应该完全映射到卡片,意味着“trip / 1 / edit”应该以'cards / 1 / edit'结束,'trips / 1 / images / 12'应该以'cards / 1 / images /结尾12'
答案 0 :(得分:1)
我最终在路线文件中添加了一些控制器。
的routes.rb
def card_routes
member do
get 'test'
end
end
class TripsController < CardsController; end
resources :trips { card_routes }
resources :cards { card_routes }
现在/trips/1/test
和/cards/1/test
转到同一个地方。
答案 1 :(得分:0)
您可以轻松地执行以下操作:
get 'trips/:id' => 'cards#show'
尝试在浏览器中访问不同的行程,trips/1
或trips/2
(如果存在带有这些ID的卡片),他们应该重定向到相应的卡片。
如果您还没有,我建议您花几分钟时间阅读路线指南,因为它非常全面并且展示了不同的完成方式: