Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails map.connect的Rails路由帮助程序_Ruby On Rails_Routes - Fatal编程技术网

Ruby on rails map.connect的Rails路由帮助程序

Ruby on rails map.connect的Rails路由帮助程序,ruby-on-rails,routes,Ruby On Rails,Routes,在我当前的rails应用程序中,我定义了一系列命名路由来处理静态内容,如下所示: map.with_options :controller => 'static_content' do |static| static.imprint 'imprint', :action => 'imprint' static.menu1 'menu1', :action => 'menu1' static.menu1_sub1 'menu1/sub1

在我当前的rails应用程序中,我定义了一系列命名路由来处理静态内容,如下所示:

map.with_options :controller => 'static_content' do |static|
  static.imprint    'imprint',    :action => 'imprint'
  static.menu1      'menu1',      :action => 'menu1'
  static.menu1_sub1 'menu1/sub1', :action => 'menu1_sub1'
  static.menu1_sub2 'menu1/sub2', :action => 'menu1_sub2'
  static.menu2      'menu2',      :action => 'menu2'
  ...
end
map.connect 'menu1/:action', :controller => 'static/menu1'
map.connect 'menu2/:action', :controller => 'static/menu2'
...
现在,我想重构这条非常恶心的路线,使其具有如下内容:

map.with_options :controller => 'static_content' do |static|
  static.imprint    'imprint',    :action => 'imprint'
  static.menu1      'menu1',      :action => 'menu1'
  static.menu1_sub1 'menu1/sub1', :action => 'menu1_sub1'
  static.menu1_sub2 'menu1/sub2', :action => 'menu1_sub2'
  static.menu2      'menu2',      :action => 'menu2'
  ...
end
map.connect 'menu1/:action', :controller => 'static/menu1'
map.connect 'menu2/:action', :controller => 'static/menu2'
...
我创建了控制器名称空间static,并映射名称空间中所有这些控制器的操作。但是现在——当然——所有那些像menu1_sub2_path这样的有用的路线助手都停止工作了,我必须改变它们

Uff!将路径帮助程序的所有用法重构为丑陋的:控制器-:动作样式

所以我的问题是,是否有人看到了一个好的方法来解决这个问题。有没有一种方法可以定义这些路径帮助器?或者它们的创建方式?或者用一种更聪明的方法来做那些讨厌的映射

谢谢你的帮助

那就叫它:

page_path(:imprint)