首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在自定义生成器中生成嵌套路由

在自定义生成器中生成嵌套路由
EN

Stack Overflow用户
提问于 2009-06-05 16:06:31
回答 1查看 731关注 0票数 1

我正在rails中构建一个生成器,它生成一个前端和管理控制器,然后将路由添加到routes文件中。我可以让前端使用下面的代码:

代码语言:javascript
复制
m.route_resources controller_file_name

但是我不知道如何对嵌套的管理路由( admin /controller_file_name)执行同样的操作。有人知道如何生成这些路由吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-09 06:33:22

看一下route_resources的代码,它看起来除了一个沼泽标准的map.resources :foos之外不会做任何事情。

相反,让我们编写自己的方法来处理这个问题,基于原始

代码语言:javascript
复制
def route_namespaced_resources(namespace, *resources)
  resource_list = resources.map { |r| r.to_sym.inspect }.join(', ')
  sentinel = 'ActionController::Routing::Routes.draw do |map|'
  logger.route "#{namespace}.resources #{resource_list}"
  unless options[:pretend]
    gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |match|
      "#{match}\n  map.namespace(:#{namespace}) do |#{namespace}|\n     #{namespace}.resources #{resource_list}\n  end\n"
    end
  end
end

我们可以在生成器中将其作为本地方法启动,现在可以使用以下命令调用它:

代码语言:javascript
复制
m.route_namespaced_resources :admin, controller_file_name
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/956723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档