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

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

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

直接上代码:

————> 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

共收到 7 条回复
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 回复

是我想多了。。。谢谢

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