【问题标题】:One controller for multiple routes一个控制器用于多条路线
【发布时间】:2011-07-29 10:55:51
【问题描述】:

我已经搜索了一段时间,但我似乎无法弄清楚这是否可能。 我需要的是一个控制器用于两条不同的路径。

我只有一个模型,有两种类型:自己的和兼容的。

所以我想要的是两条这样的路径,都到一个控制器:

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。

这可能吗?

谢谢!

【问题讨论】:

  • 什么是“竞争对手”?另外,请从您的问题中删除您的编辑,并将其作为答案发布,以便您接受并“关闭”此问题。在 Stack Overflow 上回答您自己的问题是完全可以接受的,但您必须发布答案,而不仅仅是修改问题以包含答案。
  • 呵呵,刚发完这篇文章,我发现它必须是竞争对手。我是荷兰人,所以对正确的拼写不太熟悉。我已经回答了这个问题,谢谢指出。 .

标签: ruby-on-rails routing


【解决方案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

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2018-11-26
    • 2015-02-14
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    相关资源
    最近更新 更多