我一直在寻找一段时间,但我似乎无法弄清楚这是否可能。 我需要的是两个不同路径的一个控制器。
我所拥有的是一个模型,有两种类型:拥有和兼容。
所以我想要的是这样的两条路径,同时转到一个控制器:
example.com/hotels
example.com/compatitives
这些必须是资源,并且在这些路线中会有很多嵌套。 所以我不想为它们创建资源映射。
我已经尝试过了:
resources :hotels, :compatitives, :controller => :hotels do
resources :rooms do
collection do
match "/search", :action => :search
end
end
collection do
match "/search"
match "/results/:type/:id(/:page)", :action => :results
end
end
resources :prices do
collection do
match "/check"
end
end
但是控制器不是两者的hotels_controller。
这甚至可能吗?
谢谢!
答案 0 :(得分:1)
使用此解决方案:
def add_hotel_collection
resources :rooms do
collection do
match "/search", :action => :search
end
end
collection do
match "/search", :action => :search
match "/results/:type/:id(/:page)", :action => :results
end
end
resources :hotels do
add_hotel_collection
end
resources :compatitives, :controller => :hotels do
add_hotel_collection
end