Ruby on rails 重构路线-服务于不同的布局

Ruby on rails 重构路线-服务于不同的布局,ruby-on-rails,layout,views,background,Ruby On Rails,Layout,Views,Background,作为一名Rails NOOB,我从routes.rb开始: ActionController::Routing::Routes.draw do |map| map.resources :events map.connect 'affiliates/list', :controller => "affiliates", :action => "list" map.connect 'affiliates/regenerate_thumb/:id', :controller

作为一名Rails NOOB,我从routes.rb开始:

ActionController::Routing::Routes.draw do |map|
  map.resources :events
  map.connect 'affiliates/list', :controller => "affiliates", :action => "list"  
  map.connect 'affiliates/regenerate_thumb/:id', :controller => "affiliates", :action => "regenerate_thumb"
  map.connect 'affiliates/state/:id.:format', :controller => "affiliates", :action => "find_by_state"
  map.connect 'affiliates/getfeed', :controller => "affiliates", :action => "feed"
  map.resources :affiliates, :has_many => :events 

  map.connect ":controller/:action"
  map.connect '', :controller => "affiliates" 
  map.connect ":controller/:action/:id"
  map.connect ":controller/:action/:id/:format"
end
我正努力把它收紧。我已经做到了:

ActionController::Routing::Routes.draw do |map|
  map.resources :events, :only => "index" 
  map.resources :affiliates do |affiliates|
    affiliates.resources :has_many => :events
    affiliates.resources :collection =>  { :list => :get, :regenerate_thumb => "regenerate_thumb"   }
  end
  # map.connect 'affiliates/regenerate_thumb/:id', :controller => "affiliates", :action => "regenerate_thumb"
  map.connect 'affiliates/state/:id.:format', :controller => "affiliates", :action => "find_by_state"
  map.connect 'affiliates/getfeed', :controller => "affiliates", :action => "feed"
  map.root :affiliates

end
让我困惑的是路线和参数。。例如,我意识到列表和索引之间的唯一区别是如何呈现,而不是呈现什么

有一个不同的行为(就像我现在做的)感觉是错误的,但我不能找出正确的方法


谢谢

您可以像这样重构它:

map.resources :events, :only => "index"
map.resources :affiliates, :has_many => :events, :collection => { :list => :get  }, :member => { :regenerate_thumb => :get } 
map.connect 'affiliates/state/:id.:format', :controller => "affiliates", :action => "find_by_state"
map.connect 'affiliates/getfeed', :controller => "affiliates", :action => "feed"
map.root :affiliates
标题是“为不同的布局服务”。问题出在哪里