Ruby on rails 路线-通过定制整齐地定义多个资源

Ruby on rails 路线-通过定制整齐地定义多个资源,ruby-on-rails,routing,refactoring,Ruby On Rails,Routing,Refactoring,我的路线失控,因为这是不可能的(如果我错了,请纠正我): 由于嵌套的路线,情况正在失控(整洁) 我如何避免重复这一点: article.resources :topics do |topic| topic.resources :posts end 是否有某种方法将路由存储为某个块,或者在我的例子中,分别定义英语页面和西班牙语页面别名 非常感谢。您所需要的只是一点元编程 资源只是一个方法调用,而符号最终将作为字符串进行计算,因此这变得非常简单 [:english, :spanish].eac

我的路线失控,因为这是不可能的(如果我错了,请纠正我):

由于嵌套的路线,情况正在失控(整洁)

我如何避免重复这一点:

article.resources :topics do |topic|
  topic.resources :posts
end
是否有某种方法将路由存储为某个块,或者在我的例子中,分别定义英语页面和西班牙语页面别名


非常感谢。

您所需要的只是一点元编程

资源只是一个方法调用,而符号最终将作为字符串进行计算,因此这变得非常简单

[:english, :spanish].each do |language|
  map.resource "#{language}_pages", :as => language, :member => {:manage => :get} do |article| 
    article.resources :topics do |topic|
    topic.resources :posts
  end
end

你所需要的只是一点元编程

资源只是一个方法调用,而符号最终将作为字符串进行计算,因此这变得非常简单

[:english, :spanish].each do |language|
  map.resource "#{language}_pages", :as => language, :member => {:manage => :get} do |article| 
    article.resources :topics do |topic|
    topic.resources :posts
  end
end

非常感谢,我应该知道事情会很简单。非常感谢,我应该知道事情会很简单。
[:english, :spanish].each do |language|
  map.resource "#{language}_pages", :as => language, :member => {:manage => :get} do |article| 
    article.resources :topics do |topic|
    topic.resources :posts
  end
end