我有非常有趣的场景:Rails 3中嵌套路由
我指定了两个控制器,一个为全球事件和另一个另一曾经为公司的具体事件。在路线,它被指定这样的:
resources :companies do
resources :events
end
resources: events
运行rake路由我可以看到正在生成的路由:
events GET /events(.:format) events#index
company_events GET /companies/:company_id/events(.:format) events#index
两个路径似乎路由到相同的控制器(全球的).. 。 我有第二控制器根据控制器/公司,是这样的:上面
class Companies::EventsController < ApplicationController
# stuff
end
它从不路线在控制器,无论我用company_evens_pat H(@company)。总是去另一个。 它应用于轨道2.3为我工作,我目前使用的3.2
你确定你需要一个单独的控制器,似乎要保持干燥,你应该只在全局事件控制器的索引操作中抛出一个if params [:company_id]来仅显示那些事件。 – 2012-03-01 05:35:05
这是根据您的路线按预期工作。都传递给EventsController和索引方法。如果您需要遵循不同的行为,则可以从单个控制器执行此操作。 – 2012-03-01 05:41:53