Rails develop 下修改路由文件不生效

xiaobai2 · 2018年08月10日 · 最后由 xiaobai2 回复于 2018年08月11日 · 1480 次阅读

最近把路由给拆分了,如下:

直接上代码:

————> routes.rb
class ActionDispatch::Routing::Mapper
  def draw(routes_name, namespace_name=nil)
    instance_eval(File.read(Rails.root.join("config/routes", namespace_name.to_s, "#{routes_name}.rb")))
  end
end

Rails.application.routes.draw do

  # 配置相关
  draw :mind
end

———> routes/mind.rb

namespace :mind do
    resources :aaa
end

在开发环境下每次修改完 mind.rb 里面的路由都要重启项目路由才能生效,是需要在开发环境下另外配置些什么吗? raiils -v 5.1.2

coderliu 回复

不使用这个 Gem 其实还是解决不了的,我在 rails4 使用就不会出现这个问题,是不是 rails5 以后 默认不读取子域名?

难道这个问题都没有遇到过吗?你们用 rails5 的话是怎么拆分 routes 文件的

拆分 routes 文件用不到元编程, 写入以下代码到 config/application.rb 就可以了

Dir["#{Rails.root}/config/routes/**/*.rb"].each do |route_file|
  config.paths['config/routes.rb'] << route_file
end
ThxFly 回复

之前已经试过了,还是不行!加载 setting.rb 的时候报了一个

config/routes/mind.rb:1:in `<top (required)>': undefined method `namespace' for main:Object (NoMethodError)
xiaobai2 回复

写法不对

Rails.application.routes.draw do
  namespace :api do
    get 'hello'
  end
end
ThxFly 回复

是我想多了。。。谢谢

需要 登录 后方可回复, 如果你还没有账号请 注册新账号